1
我想獲得一個字段的計數,我希望該字段分成兩組。一組是一個特定的值,另一組是所有其他值。基本上,如果我的字段是[1,2,3,4,5],我將如何對它進行分組,以便可以計算所有「1」實例的計數和所有其他實例的計數?Oracle SQL,如何將一個字段組合爲一個字段並將所有其他值組合在一起?
我想獲得一個字段的計數,我希望該字段分成兩組。一組是一個特定的值,另一組是所有其他值。基本上,如果我的字段是[1,2,3,4,5],我將如何對它進行分組,以便可以計算所有「1」實例的計數和所有其他實例的計數?Oracle SQL,如何將一個字段組合爲一個字段並將所有其他值組合在一起?
您可以使用case
聲明:
select (case when field = 1 then '1' else 'All Other Values' end) as grp,
count(*)
from t
group by (case when field = 1 then '1' else 'All Other Values' end);
儘管戈登的回答是比較正確的,你也可以使用甲骨文解碼:
SELECT DECODE(a.col, 1, 'first', 'other'), COUNT(*)
FROM atable a
GROUP BY DECODE(a.col, 1, 'first', 'other');
我建議'decode'應在案件勸阻像這個。 「case」表達式的編寫,閱讀和維護要容易得多。在'case'陳述出臺之前,'decode'在過去有其目的。 – mathguy