2011-11-13 82 views
-1

我需要在分開兩列執行GROUP BY ...MySQL的GROUP BY多列

在常用術語,我想查詢的說:GROUP BY列1,那麼一旦這個分組已經執行,並且返回的行已經完善,返回到頂部並返回GROUP BY列2以優化返回的行。

例如,而不是指出: GROUP BY COLUMN_1,COLUMN_2

我想聲明(我的理解,這是不正確的語法): GROUP BY COLUMN_1 GROUP BY COLUMN_2

如果這還不清楚我可以包含一個帶有預期返回結果的示例查詢。

回答

3

你想要做這樣的事嗎?

select ... 
from (
    select ... 
    from some_table 
    where ... 
    group by column1 
) as dt 
group by column2 

這是我能想到的最接近的東西,它與您的問題似乎在問什麼匹配。

+0

我發現了一種增強我的問題的方法,它可以讓那些有類似問題的讀者更容易理解和使用。我將重新發布所做的必要更改。感謝您的幫助。 –

1

大多數情況下,您可以在mysql中按多列進行分組。查詢是:
select * from table group by col1, col2

但是,你不能得到答案,因爲你想要的。所以你有另一個機會在mysql中獲得正確答案。也就是說,你必須使用子查詢。
select * from (select * from table group by col2) tabl group by col1