sql select 将行数据显示为列

标签 sql mysql

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

login_count  login_type
2000         iPhone
7000         browser 

但我想要的结果是:

iphone_login  browser_login
2000          7000

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

我原来的查询是

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

谢谢, 高拉夫

最佳答案

试试这个:

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

关于sql select 将行数据显示为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998420/

相关文章:

sql - SQL 中的 Case 语句使用 Like

php - 通过 PHP 的 MySql 源

MySQL 意外返回 "WHERE integer_column = ' string_value' 的结果

php - 更新需要查找 'newest' 行的查询

mysql - 在 MySQL 中,如何更新现有行的某些列并从引用表中插入新行?

python - 无法使用python将变量值插入mysql数据库

mysql - 低成本在线 SQL 或 mySQL 培训?

mysql - 使用查询的结果进行进一步的计算,这些结果在同一查询中给出错误

java - 如何在 DAO 中传递对象字段?

mysql - 获取项目计数,同时从同一个表中进行选择,然后按计数列排序