GROUP BY子句没有聚合函数的任何原因?

Nie*_*Bom 22 mysql sql group-by aggregate

我(彻底)学习SQL,并且遇到了这个GROUP BY条款.

GROUP BY根据您提供的参数聚合或分组结果集.如果在查询中使用此子句,则可以对结果集执行聚合函数,以查找结果集的统计信息,如查找平均值(AVG())或频率(COUNT()).

我的问题是:GROUP BY语句在没有伴随聚合函数的情况下是否有用?

更新 使用GROUP BYas DISTINCT(可能)是一个坏主意的同义词因为我怀疑它更慢.

OMG*_*ies 13

GROUP BY语句在没有伴随聚合函数的情况下是否有用?

DISTINCT在这种情况下,使用将是同义词,但是您希望/必须定义GROUP BY子句的原因是为了能够定义HAVING子句详细信息.

如果你需要定义一个HAVING子句,你必须定义一个GROUP BY- 你不能与它一起做DISTINCT.


Adr*_*der 6

您可以使用GROUP BY执行DISTINCT选择,而不使用任何AGGREGATES.


Ash*_*wal 6

通过罐组中使用双向 Majorly
在1)结合使用SQL聚合函数
2),以消除从一个结果集的重复行

回答你的问题在于上述USE的第二部分.