2016-03-16 22 views
0

我有一个表:这是相同的使用日志的用户登录频率
SQL查询变化维表

╔════════════╦═══════╦═════════════╗ 
║ month-year ║ user ║ count_login ║ 
╠════════════╬═══════╬═════════════╣ 
║ 01-2016 ║ admin ║   12 ║ 
║ 01-2016 ║ user1 ║   10 ║ 
║ 02-2016 ║ admin ║   5 ║ 
║ 03-2016 ║ admin ║   15 ║ 
╚════════════╩═══════╩═════════════╝ 

其possiblly改变

╔════════════╦═══════╦═══════╗ 
║ month-year ║ admin ║ user1 ║ 
╠════════════╬═══════╬═══════╣ 
║ 01-2016 ║ 12 ║ 10 ║ 
║ 02-2016 ║  5 ║  0 ║ 
║ 03-2016 ║ 15 ║  0 ║ 
╚════════════╩═══════╩═══════╝ 

如果可能的话,我可以使用哪些查询? ?

+0

提示:'组by'。 –

回答

0

使用Conditional Aggregate做到这一点

select `month-year`, 
     sum(case when user = 'admin' then count_login else 0 end) as admin, 
     sum(case when user = 'user1' then count_login else 0 end) as user1 
From yourtable 
Group by `month-year` 

检查这个答案动态旋转:MySQL pivot row into dynamic number of columns

+0

如果使用动态颜色,那么用户可能会超过该用户,可能是user2,user3等。 –

+0

用链接更新了我的答案 –