【问题标题】:How can I show unique date and count() records MySQL?如何显示唯一的日期和 count() 记录 MySQL?
【发布时间】:2012-04-11 12:03:58
【问题描述】:

我有以下结构和记录的表。

表 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 where f_inserted = 1

在下表中,我希望结果为 -

结果

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

提前致谢!

【问题讨论】:

  • 为什么id 不是唯一的?
  • id 是 name 。没有身份证对不起!

标签: mysql count


【解决方案1】:

这是一个基本的MySQL GROUP BY 查询。唯一棘手的部分是您的时间戳有一个 DATETIME,而您只需要一个日期。使用DATE() function进行转换。

SELECT date(`timestamp`) as `date`, COUNT(*) from t1
WHERE f_inserted = 1
GROUP BY date(`timestamp`)

【讨论】:

    【解决方案2】:

    这将给出你想要的结果-

    SELECT date(`timestamp`) as `date`,
    COUNT(*) as cnt 
    from table_name
    WHERE f_inserted = 1
    GROUP BY date(`timestamp`) 
    order by cnt desc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      相关资源
      最近更新 更多