在过去24小时内对重复的行进行分组

时间:2017-10-26 22:03:50

标签: mysql sql

我想要由同一个人对重复的行进行分组,并计算有多少行。 我使用这个SQL命令,但它没有显示所有行,我可以看到一些新行但是在这个命令中没有显示 我使用的SQL命令是:

SELECT seller, count(id) AS value_sum , type, date, sold, type2
FROM  accounts
GROUP BY type, seller
HAVING (FROM_UNIXTIME(date) >= now() - INTERVAL 1 DAY) AND sold='0' 
ORDER BY rand()

它没有显示某些行的问题在哪里?

1 个答案:

答案 0 :(得分:0)

我的第一反应是having子句应该是where子句。然后,您应该只在SELECT中的GROUP BY中包含未聚合的列。

您可以看到重复行的sellers为:

SELECT seller, count(id) AS cnt
FROM  accounts
WHERE (FROM_UNIXTIME(date) >= now() - INTERVAL 1 DAY) AND sold = 0
GROUP BY seller
ORDER BY rand();

这似乎可以解决您所描述的问题。