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

GROUP BY fV.tier_id AND 'f.form_template_id'

当前回答

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

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

其他回答

GROUP BY col1, col2, col3

如果你喜欢(我需要应用这个)同时通过两列分组,我刚刚看到了这一点:

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

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

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

是的,但是按两列分组是什么意思呢?这和每行按唯一的一对分组是一样的。列列表的顺序会改变行排序的方式。

在你的例子中,你会写

按fV分组。tier_id, f.form_template_id

同时,代码

GROUP BY f.form_template_id, fV.tier_id

会得到相似的结果,但排序不同。

group by fV.tier_id, f.form_template_id