Rhy*_*ght 173 mysql sql group-by
GROUP BYMySQL SELECT查询中是否可以有多个列?例如:
GROUP BY fV.tier_id AND 'f.form_template_id'
Run Code Online (Sandbox Code Playgroud)
小智 89
是的,您可以按多列进行分组.例如,
SELECT * FROM table
GROUP BY col1, col2
Run Code Online (Sandbox Code Playgroud)
结果首先按col1分组,然后按col2分组.在MySQL中,列首选项从左到右.
小智 17
是的,但更多两列的分组是什么意思?嗯,它与每行每个唯一对的分组相同.列出列的顺序会更改行的排序方式.
在你的例子中,你会写
GROUP BY fV.tier_id, f.form_template_id
同时,代码
GROUP BY f.form_template_id, fV.tier_id
会给出类似的结果,但排序方式不同.
Dan*_*lad 11
举一个简单的例子,我有一个计数器,该计数器需要汇总站点上每个访问页面的唯一IP地址。基本上是按页面名称然后按IP分组。我用DISTINCT和GROUP BY的组合解决了它。
SELECT pagename, COUNT(DISTINCT ipaddress) AS visit_count FROM log_visitors GROUP BY pagename ORDER BY visit_count DESC;
Run Code Online (Sandbox Code Playgroud)
小智 10
如果你更喜欢(我需要应用这个)同时按两列分组,我刚刚看到了这一点:
SELECT CONCAT (col1, '_', col2) AS Group1 ... GROUP BY Group1
Run Code Online (Sandbox Code Playgroud)