2014-09-23 209 views
0

比方說,我有如下表:格式化查詢結果

first second 
A  1 
A  1 
A  2 
B  1 
B  2 
C  1 
C  1 

如果我運行下面的查詢:

select first, second, count(second) from tbl group by first, second 

它會產生以下信息表:

first second count(second) 
A  1  2 
A  2  1 
B  1  1 
B  2  1 
C  1  2 

我該如何編寫查詢,以便使用第二列中的選項給出信息對於這些列是這樣的數列和值:

first 1 2 
A  2 1 
B  1 1 
C  2 0 
+0

確實SQLite的有旋轉功能?我知道它沒有持續檢查,但那是前一陣子。 – Conduit 2014-09-23 20:33:49

回答

1

您可以使用CASE

SELECT "first", 
     SUM(CASE WHEN "second" = 1 THEN 1 ELSE 0 END) AS "1", 
     SUM(CASE WHEN "second" = 2 THEN 1 ELSE 0 END) AS "2" 
FROM tbl 
GROUP BY "first" 
+0

CASE是解決方案。謝謝! – MLEV 2014-09-23 23:03:04