仅按一列分组

时间:2020-08-27 15:33:23

标签: sql sql-server group-by

我想按ID分组,怎么办?

谢谢!

编辑: Example

SELECT
ID as 'Case Number'
,case when Group like '%1st%' then CAST(CAST(DATEDIFF(SECOND,'1970-01-01 00:00:00.000',duration) AS decimal)/28800 AS decimal (8,2))  end as '1st - Elapsed time (Business Days)'
,case when Group like '%2nd%' then CAST(CAST(DATEDIFF(SECOND,'1970-01-01 00:00:00.000',duration) AS decimal)/28800 AS decimal (8,2)) end as '2nd - Elapsed time (Business Days)'
,case when (Group not like '%1st%' and Group not like '%2nd%')  then CAST(CAST(DATEDIFF(SECOND,'1970-01-01 00:00:00.000',duration) AS decimal)/28800 AS decimal (8,2)) end as '3rd - Elapsed time (Business Days)'
,cast(cast(datediff(second,'1970-01-01 00:00:00.000',xy_duration) as decimal)/28800 AS decimal (8,2)) as 'Processing Time (Business Days)'
,cast(cast(datediff(second,'1970-01-01 00:00:00.000',pause_duration) as decimal)/28800 AS decimal (8,2)) as 'Freeze Time (Business Days)' 
FROM MainTable with (nolock)
WHERE active = 'false'

1 个答案:

答案 0 :(得分:0)

您只需要包含SUM()函数的条件聚合:

SELECT ID as 'Case Number'
      ,SUM(case when Group like '%1st%' then CAST(CAST(DATEDIFF(SECOND,'1970-01-01 00:00:00.000',duration) AS decimal)/28800 AS decimal (8,2))  end) as '1st - Elapsed time (Business Days)'
      ,SUM(case when Group like '%2nd%' then CAST(CAST(DATEDIFF(SECOND,'1970-01-01 00:00:00.000',duration) AS decimal)/28800 AS decimal (8,2)) end) as '2nd - Elapsed time (Business Days)'
      ,SUM(case when (Group not like '%1st%' and Group not like '%2nd%')  then CAST(CAST(DATEDIFF(SECOND,'1970-01-01 00:00:00.000',duration) AS decimal)/28800 AS decimal (8,2)) end) as '3rd - Elapsed time (Business Days)'
      ,SUM(cast(cast(datediff(second,'1970-01-01 00:00:00.000',xy_duration) as decimal)/28800 AS decimal (8,2))) as 'Processing Time (Business Days)'
      ,SUM(cast(cast(datediff(second,'1970-01-01 00:00:00.000',pause_duration) as decimal)/28800 AS decimal (8,2))) as 'Freeze Time (Business Days)' 
 FROM MainTable with (nolock)
WHERE active = 'false'
GROUP BY ID
相关问题