这个函数是什么意思 为啥里面还要有1 这是什么意思SUM(CASE WHEN FLDEX1 = '2' THEN 1 END )
这个函数是什么意思 为啥里面还要有1 这是什么意思SUM(CASE WHEN FLDEX1 = '2' THEN 1 END )
日期:2014-05-17 浏览次数:20942 次
这个函数是什么意思 为什么里面还要有1 这是什么意思SUM(CASE WHEN FLDEX1 = '2' THEN 1 END )
SELECT '住宅楼' AS 楼宇类别2,
SUM(CASE WHEN FLDEX1 = '1' THEN 1 END ) AS 楼宇类别2_统计
FROM TAR_STATION NBV
union all
SELECT '公众商住楼',
SUM(CASE WHEN FLDEX1 = '2' THEN 1 END )
FROM TAR_STATION NBV
union all
SELECT '企业商住楼',
SUM(CASE WHEN FLDEX1 = '3' THEN 1 END )
FROM TAR_STATION NBV
union all
SELECT '商务楼宇',
SUM(CASE WHEN FLDEX1 = '4' THEN 1 END )
FROM TAR_STATION NBV
union all
SELECT '客户自用楼',
SUM(CASE WHEN FLDEX1 = '5' THEN 1 END )
FROM TAR_STATION NBV
------解决方案-------------------- 他其实就是想统计出各种类别的总数嘛,
SUM(CASE WHEN FLDEX68 = '3' THEN 1 END ) 对于FLDEX68 = '3'的记录,查询出的结果是1,最后sum下求和,就是求出所有FLDEX68 = '3'的,不过这样有意思么。。。。 ------解决方案--------------------
直接这样方便多了
select decode(FLDEX1,
'1',
住宅楼,
'2',
'公众商住楼',
'3',
'企业商住楼',
'4',
'商务楼宇',
'5',
'客户自用楼') as 楼宇类别2,
count(*)
from TAR_STATION
where FLDEX1 in ('1', '2', '3', '4', '5')
group by decode(FLDEX1,
'1',
住宅楼,
'2',
'公众商住楼',
'3',
&n