选择数据时,我可以通过运行来显示使用GROUP BY
分组的行数:
SELECT id, created, COUNT(id) `count` FROM table
GROUP BY id
LIMIT 0,30
count
字段可以轻松输出GROUP BY
影响的行数。在MySQL中,是否可以自动不包含count
值1
的任何行?
答案 0 :(得分:1)
您应该考虑使用HAVING
条款,您可以添加条件分组已经完成了。
SELECT id, created, COUNT(id) cnt FROM table
GROUP BY id
HAVING cnt > 1
LIMIT 0,30
另外要提到的是分组可能不正确。如果按id
和{选择{1}}然后id, created
是不确定的值。如果它们不同,MySQL将为给定的created
选择其中任何一个。你可能有兴趣在由字段分组太或施加一个聚集函数(例如:id
)。
提及的第二个的事情是,max(created)
不会计算的行的数量,而是行的量的具有COUNT(id)
不为空。如果id
是从来没有空然后这将导致相同的值做id
。
答案 1 :(得分:0)
是。您可以使用HAVING
来限制聚合函数的结果,如COUNT(MAX,MIN,SUM等)。
SELECT id, created, COUNT(id) `count`
FROM table
GROUP BY id
HAVING COUNT(id) > 1
LIMIT 0,30
答案 2 :(得分:0)