Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:如果分组结果只包含一行,则从分组结果中删除行_Mysql - Fatal编程技术网

MySQL:如果分组结果只包含一行,则从分组结果中删除行

MySQL:如果分组结果只包含一行,则从分组结果中删除行,mysql,Mysql,选择数据时,我可以通过运行以下命令显示使用groupby对多少行进行分组: SELECT id, created, COUNT(id) `count` FROM table GROUP BY id LIMIT 0,30 count字段可轻松输出受分组影响的行数。在MySQL中,是否可以自动不包括任何只有count值1的行?是。您可以使用HAVING来限制聚合函数的结果,如COUNT(MAX、MIN、SUM等) 你应该考虑使用具有< /Cord>子句,这允许你在分组完成后添加条件

选择数据时,我可以通过运行以下命令显示使用
groupby
对多少行进行分组:

SELECT id, created, COUNT(id) `count` FROM table
    GROUP BY id
    LIMIT 0,30

count
字段可轻松输出受
分组影响的行数。在MySQL中,是否可以自动不包括任何只有
count
1
的行?

是。您可以使用
HAVING
来限制聚合函数的结果,如COUNT(MAX、MIN、SUM等)


你应该考虑使用<代码>具有< /Cord>子句,这允许你在分组完成后添加条件。

SELECT id, created, COUNT(id) cnt FROM table
GROUP BY id
HAVING cnt > 1
LIMIT 0,30
另一件需要提及的事情是,分组可能不正确。如果按
id
分组,并选择
id,created
,则
created
的值不确定。如果它们不同,MySQL将为给定的
id
选择其中任何一个。您可能也对按该字段分组或应用聚合函数感兴趣(例如:
max(created)


第二件需要提及的事情是,
COUNT(id)
不会计算行的数量,而是计算id不为null的行的数量。如果
id
从不为空,则其结果将与执行
count(*)

显示手册并查找

... HAVING COUNT(id) > 1

如果id具有主键/唯一键,则为。。GROUPBY id是非常冗余的无用(基于缺少的create table语句)…+1 Mosty Mostacho需要提及的是非聚合列“created”@enchance你真的应该读一下会有什么影响,我同意你关于
created
和使用
COUNT(id)
的观点,但这只是我用来澄清问题的一个示例查询。@enchance是的,检查一下。但下一次创建一个新问题:)
... HAVING COUNT(id) > 1