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

GROUP BY fV.tier_id AND 'f.form_template_id'

当前回答

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

在你的例子中,你会写

按fV分组。tier_id, f.form_template_id

同时,代码

GROUP BY f.form_template_id, fV.tier_id

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

其他回答

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

在你的例子中,你会写

按fV分组。tier_id, f.form_template_id

同时,代码

GROUP BY f.form_template_id, fV.tier_id

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

GROUP BY CONCAT(col1, '_', col2)
group by fV.tier_id, f.form_template_id

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

SELECT * FROM table
GROUP BY col1, col2

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

GROUP BY col1, col2, col3