[英]Creating multiple columns from filtered values in single column in SQL
我需要一些帮助 我有一个看起来像这样的数据库:
我想分开这个表,为每个队列创建 1 列,并将时间分组以获得一个唯一列表,因为我一次只过滤 24 小时。
预期的结果将是这样的:
到目前为止,我尝试过的代码是:
select intervals,
case when Queue = 'A' then #calls end as queueA#calls,
case when Queue = 'A' then %callsAnswered end as queueA%ans,
case when Queue = 'B' then #calls end as queueB#calls,
case when Queue = 'B' then %callsAnswered end as queueB%ans,
case when Queue = 'C' then #calls end as queueC#calls,
case when Queue = 'C' then %callsAnswered end as queueC%ans
from myTable
group by intervals
order by intervals
但我得到一个空列表,到目前为止只有间隔。 请问你能帮帮我吗?
使用聚合。 如果您每次只有一行,那么:
select intervals,
max(case when Queue = 'A' then #calls end) as queueA#calls,
max(case when Queue = 'A' then %callsAnswered end) as queueA%ans,
max(case when Queue = 'B' then #calls end) as queueB#calls,
max(case when Queue = 'B' then %callsAnswered) end as queueB%ans,
max(case when Queue = 'C' then #calls end) as queueC#calls,
max(case when Queue = 'C' then %callsAnswered end) as queueC%ans
from myTable
group by intervals
order by intervals
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.