2012-09-25 71 views
1

是否可以「合併」在使用group by的SQL語句後獲得的2個組。例如,如果我有一個字段大小ENUM('超小,'小','中等','大',超大'),然後我運行此查詢SELECT * from clothes GROUP BY size;,但在一個案例中,我想獲得結果在同一組中「超小」和「小」。這可能與SQL?SQL group by - merge groups

回答

4

是的,你可以:

select count(*) 
    , case size 
     when 'extra-large' 
     then 'large' 
    else size end as grouped_size 
from sizes 
group by grouped_size 

演示:http://sqlfiddle.com/#!2/ae3fa/2

+0

你在GROUP BY子句中不需要CASE表達式,因爲它使用別名而不是原始數據。 – Barmar

+0

感謝,在示例和演示中進行編輯:-) – RomanKonz

+0

聽起來不錯!我會試試這個。我希望我可以通過一些連接來使用它。事實上,我的DB比這個簡單的例子更復雜。我會讓你知道這個解決方案是如何爲我工作的。 – morandi3