我有以下查询
select COUNT(mc_owner) as nbr , mc_owner
from [dbo].[full]
where (date_reception > '01-01-2015')
group by (mc_owner)
order by nbr desc
Run Code Online (Sandbox Code Playgroud)
这告诉我
- 20000元素1
- 10000元素2
- 10000元素3
- 10000元素4
我需要只有两个结果element1和其他在元素上分组的东西
- element1 20000
- 其他人30000
谢谢你的帮忙
你用一个CASE
表达式来做,像这样:
SELECT
COUNT(*) as nbr,
CASE mc_owner WHEN 'Element1' THEN 'Element1' ELSE `Others` END as Owner
FROM [dbo].[full]
WHERE (date_reception > '01-01-2015')
GROUP BY CASE mc_owner WHEN 'Element1' THEN 'Element1' ELSE `Others` END
ORDER BY COUNT(*) DESC
Run Code Online (Sandbox Code Playgroud)
我们的想法是提供一个表达式,该表达式可以计算出您需要的两个值之一 - 即,'Element1'
或者Others
,取决于mc_owner
字段的值.