使用MySQL可以GROUP BY多列吗?

时间:2009-12-03 17:13:41

标签: mysql sql group-by

MySQL GROUP BY查询中是否可以SELECT多个列?例如:

GROUP BY fV.tier_id AND 'f.form_template_id'

7 个答案:

答案 0 :(得分:234)

GROUP BY col1, col2, col3

答案 1 :(得分:77)

是的,您可以按多列进行分组。例如,

SELECT * FROM table
GROUP BY col1, col2

结果首先按col1分组,然后按col2分组。在MySQL中,列首选项从左到右。

答案 2 :(得分:17)

是的,但更多两列的分组意味着什么?嗯,它与每行每个唯一对的分组相同。列出列的顺序会更改行的排序方式。

在你的例子中,你会写

GROUP BY fV.tier_id, f.form_template_id

同时,代码

GROUP BY f.form_template_id, fV.tier_id

会给出类似的结果,但排序方式不同。

答案 3 :(得分:15)

group by fV.tier_id, f.form_template_id

答案 4 :(得分:8)

使用一个简单的例子,我有一个计数器,需要在网站上总结每个访问页面的唯一IP地址。这基本上是按页面名称分组,然后是IP分组。我用DISTINCT和GROUP BY的组合解决了它。

SELECT pagename, COUNT(DISTINCT ipaddress) AS visit_count FROM log_visitors GROUP BY pagename ORDER BY visit_count DESC;

答案 5 :(得分:2)

GROUP BY CONCAT(col1, '_', col2)

答案 6 :(得分:2)

如果你喜欢(我需要同时申请)这两个小组,我只是看到了这一点:

SELECT CONCAT (col1, '_', col2) AS Group1 ... GROUP BY Group1