我想要由同一个人对重复的行进行分组,并计算有多少行。 我使用这个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()
它没有显示某些行的问题在哪里?
答案 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();
这似乎可以解决您所描述的问题。