1

次の構造とレコードを持つテーブルがあります。

テーブル t1

+------+-------------+---------------------+
| name |  f_inserted | timestamp           |
+------+-------------+---------------------+
| AAA  |   1         | 2012-04-10 06:44:19 |
| BBB  |   0         | 2012-04-10 08:44:19 |
| AAA  |   1         | 2012-04-10 09:44:19 |
| CCC  |   1         | 2012-04-11 09:48:19 |
+------+-------------+---------------------+

一意の日付を表示し、f_inserted = 1 の f_inserted をカウントしたい

次の表では、結果を次のようにします-

結果

+-------------+------+
| date        |  cnt |
+-------------+------+
| 2012-04-10  |   2  | 
| 2012-04-11  |   1  |
+------+------+------+

前もって感謝します !

4

2 に答える 2

4

これは基本的なMySQL GROUP BYクエリです。唯一のトリッキーな部分は、タイムスタンプに DATETIME があり、日付のみが必要なことです。DATE() 関数を使用して変換します。

SELECT date(`timestamp`) as `date`, COUNT(*) from t1
WHERE f_inserted = 1
GROUP BY date(`timestamp`)
于 2012-04-11T12:07:13.837 に答える
1

これにより、あなたが望んでいた正確な結果が得られます-

SELECT date(`timestamp`) as `date`,
COUNT(*) as cnt 
from table_name
WHERE f_inserted = 1
GROUP BY date(`timestamp`) 
order by cnt desc
于 2012-04-11T12:11:32.110 に答える