sql选择显示行数据作为列

时间:2011-02-14 23:12:50

标签: sql mysql

我有一个sql select查询,它将结果提取为:

login_count  login_type
2000         iPhone
7000         browser 

但我希望结果如下:

iphone_login  browser_login
2000          7000

即。我想使用select查询将row1-col1提取为col1,将row2-col2提取为col2。

我的原始查询是

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

谢谢, 拉夫

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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   
相关问题