2011-02-14 46 views
5

我有提取結果作爲SQL SELECT查詢列:SQL SELECT顯示行的數據作爲

login_count login_type 
2000   iPhone 
7000   browser 

但正如我希望的結果:

iphone_login browser_login 
2000   7000 

即我想提取ROW1-COL1作爲col1和row2-col2使用select查詢作爲col2。

我原來的查詢是

select count(login_count), login_type from log_table group by login_type; 

感謝, 拉夫

回答

3

試試這個:

SELECT 
    SUM(IF(login_type = 'iPhone', 1, 0)) AS iphone_login, 
    SUM(IF(login_type = 'browser', 1, 0)) AS browser_login 
FROM log_table 
+0

如果有很多登錄類型會發生什麼? iphone,瀏覽器,其他等... – Eray 2011-02-14 23:27:09

0

下面是在MySQL 在其他DBMS以及作品的另一種選擇。

select sum(case when login_type = 'iPhone' then 1 else 0 end) as iphone_login 
     ,sum(case when login_type = 'browser' then 1 else 0 end) as browser_login 
from log_table