2017-08-31 11 views
-2

8月と言われる特定の月に発生する行の数を数えることができるSQLクエリでアクションを実行するにはどうすればよいですか?たとえば、あるテーブルにN個の行があり、うち8行が8月に属する行があり、datetimeが特定の列に記録されているとします。pr_datetime?私が何かしたいSQLクエリの月の比較DATETIME形式とカウント結果

例クエリ:私はcntをフェッチした後

SELECT COUNT(*) as cnt FROM proofs WHERE ---- lets break this in my common language after WHERE clause as I don't know what to write here ---- WHERE month in pr_uptime = 8 (where 8 means august). 

そして、これはPHPで25を返す必要があります。どうやってするか?

+0

'月(pr_uptime)= 8' - 「mysqlの日時月」 – SqlZim

+0

をグーグルの詳細おかげ@SqlZim :) –

+0

@SqlZimと私はすべての12ヶ月間同様にカウントしたいならば、私が書く必要があります12種類のクエリがありますか?私は毎月の行数を数えることができ、それらを別々に表示することができる単一のクエリで行うことができますか? MysqlとPHPで可能ですか? –

答えて

0

MySQLを使用している月()の代わりにSQL Serverを使用していると仮定しています。

あなたがMySQLを使用する場合は、データのモンを返す関数MONTHの魔女を使用することができますすべての月

SELECT DATEPART(MONTH, pr_datetime),COUNT(*) as cnt FROM proofs 
GROUP BY DATEPART(MONTH, pr_datetime) 
0

を表示したい場合は、DATEPART月によってグループに

SELECT COUNT(*) as cnt FROM proofs 
GROUP BY DATEPART(MONTH, pr_datetime) 
HAVING DATEPART(MONTH, pr_datetime)=8 

を必要としています。

SELECT COUNT(*) as cnt FROM proofs WHERE MONTH(pr_uptime) = 8 .