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
そして、私はこれらの値を受け取ります -
正しい値を受け取ることができるように、最初の選択ステートメントでカウントを修正するにはどうすればよいですか?