我写了这样的查询
CASE
WHEN [col1] = 's' THEN '1'
WHEN [col1] = 't' THEN '2'
WHEN [col1] = 'u' THEN '3'
WHEN [col2] = 'v' THEN '4'
.......
END AS product,
SUM(col3)
FROM dbo.TableA
Run Code Online (Sandbox Code Playgroud)
我想在产品上分组吗?怎么做?
小智 10
您需要做的是使用子查询为您的别名列CASE.将查询作为子查询,您可以使用别group by名列.
select product
from
(
select
CASE
WHEN [col1] = 's' THEN '1'
WHEN [col1] = 't' THEN '2'
WHEN [col1] = 'u' THEN '3'
WHEN [col2] = 'v' THEN '4'
END AS product,
SUM(col3) as Col3Sum
FROM dbo.TableA
) a
group by product
Run Code Online (Sandbox Code Playgroud)
你需要有CASE你Group By的好.你不能在a中使用别名
GROUP BY
SELECT yourColumn, otherColumn
, CASE
WHEN [col1] = 's' THEN '1'
WHEN [col1] = 't' THEN '2'
WHEN [col1] = 'u' THEN '3'
WHEN [col2] = 'v' THEN '4'
END AS Product
, anotherColumn
FROM yourTable
GROUP BY CASE
WHEN [col1] = 's' THEN '1'
WHEN [col1] = 't' THEN '2'
WHEN [col1] = 'u' THEN '3'
WHEN [col2] = 'v' THEN '4'
END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11232 次 |
| 最近记录: |