当我在 case 语句中使用 count (*) 乘以某个值时出现问题。
这是我的代码 -
SELECT DISTINCT
plmn,
CASE
WHEN timestamp < '20130300' THEN (COUNT (*) * 0.02)
ELSE (COUNT (*) * 0.03)
END
AS total
FROM tap_out
WHERE teleservicecode = '22' AND calltype = 'MOC'
-- AND timestamp LIKE '201303%'
GROUP BY plmn, timestamp
我收到了这些价值观——
但是,这是错误的,因为当我使用 count(*) 乘以某个值而不是在 case 语句中时,我会收到其他值。这是代码 -
SELECT DISTINCT
plmn, count (*) * 0.02 AS total
FROM tap_out
WHERE teleservicecode = '22'
AND calltype = 'MOC'
-- AND timestamp LIKE '201303%'
GROUP BY plmn
我收到了这些价值观——
如何更正第一个 select 语句中的计数,以便接收正确的值?