mysql - 清点日常元素

标签 mysql

我正在使用以下命令获取日常用品。 列日期是 unix 时间戳。

SELECT FROM_UNIXTIME(date) as datetime, COUNT(id) AS total 
FROM items 
WHERE cat_id = 3 
GROUP BY datetime 
HAVING datetime BETWEEN DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW()

结果是:

日期时间 |总计

2019-01-11 09:39:12 | 1

2019-01-11 09:44:35 | 1

2019-01-11 09:47:55 | 1

2019-01-15 14:33:00 | 1

2019-01-15 14:34:31 | 1

2019-01-17 14:39:26 | 1

实际上我在寻找第二个结果:

日期时间 |总计

2019-01-11 09:39:12 | 3

2019-01-15 14:33:00 | 2

2019-01-17 14:39:26 | 1

最佳答案

您应该按 DATE 分组,而不是按 DATE 和 TIME 分组

SELECT  
  DATE(FROM_UNIXTIME(`date`)) AS `datetime`,
  COUNT(`id`) AS `total`
FROM `items`
WHERE `cat_id` = 3
GROUP BY DATE(datetime)
HAVING datetime BETWEEN DATE_FORMAT(NOW(), '%Y-%m-01') AND NOW()

关于mysql - 清点日常元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54367381/

相关文章:

SQL 数据库 View

php - C :\wamp\www\filepath\cake\libs\model\datasources\dbo\dbo_mysql. php 超出最大执行时间 60 秒

MySQL:优化无主键的表(索引、外键)

php - 搜索引擎错误 PHP Mysql

mysql - 数据库设计中的引擎

mysql - 如何实现通知制度?

mysql - ORDER BY 的方向阻止 MySQL 使用索引

PHP 文件不会在新的 xampp 安装上运行

database-design - 商业Web应用--可扩展的数据库设计

php - While 循环显示不同行而不是同一行