我需要分别在2列上执行GROUP BY ...
通常来说,我希望查询说:GROUP BY第1列,然后一旦执行了此分组,并且返回的行已经过细化,请返回到顶部和GROUP BY列2以优化行再次返回。
例如,而不是陈述: GROUP BY column_1,column_2
我想陈述(我明白这是不正确的语法): GROUP BY column_1 GROUP BY column_2
如果不清楚,我可以包含一个带有预期返回结果的样本查询。
答案 0 :(得分:3)
你想做这样的事吗?
select ...
from (
select ...
from some_table
where ...
group by column1
) as dt
group by column2
这是我能想到的最接近你问题似乎要问的问题。
答案 1 :(得分:1)
大多数情况下,您可以在mysql中按多列进行分组。查询为:select * from table group by col1, col2
但你无法得到你想要的答案。所以你还有机会在mysql中得到正确的答案。也就是说,您必须使用子查询。
select * from (select * from table group by col2) tabl group by col1