您能帮我吗,我有问题,这是我的代码。
SELECT tglkadaluarsa - now() AS date_ratio, CASE
WHEN tglkadaluarsa - now() < '0 days' THEN 'Has Expired'
WHEN tglkadaluarsa - now() <= '180 days' THEN 'Expire <= 6 Month'
WHEN tglkadaluarsa - now() <= '365 days' THEN 'Expire <= 1 Year'
WHEN tglkadaluarsa - now() <= '725 days' THEN 'Expire <= 2 Year'
WHEN tglkadaluarsa - now() > '725 days' THEN 'Expire More 2 Year'
WHEN tglkadaluarsa is null THEN 'Expire Not Updated'
END AS range_expire, COUNT(*) FROM sdm.ms_unit
GROUP BY date_ratio, range_expire ORDER BY date_ratio
我想获取range_expire并进行计数,但是基于范围的计数数据总和到期,然后我使用它,但是我不知道要基于范围到期的总和,我使用此代码
SELECT a.range_expire FROM (SELECT tglkadaluarsa - now() AS date_ratio
WHEN tglkadaluarsa - now() < '0 days' THEN 'Has Expire'
WHEN tglkadaluarsa - now() <= '180 days' THEN 'Expire <= 6 Month'
WHEN tglkadaluarsa - now() <= '365 days' THEN 'Expire <= 1 Year'
WHEN tglkadaluarsa - now() <= '725 days' THEN 'Expire <= 2 Year'
WHEN tglkadaluarsa - now() > '725 days' THEN 'Expire More 2 Year'
WHEN tglkadaluarsa is null THEN 'Expire Not Updated'
END AS range_expire, COUNT(*) FROM sdm.ms_unit GROUP BY date_ratio, range_expire
ORDER BY range_expire) a GROUP BY range_expire ORDER BY range_expire
SELECT range_expire,sum_range_expire FROM (
SELECT tglkadaluarsa - now() AS date_ratio,
CASE
WHEN tglkadaluarsa - now() < '0 days' THEN 'Has Expire'
WHEN tglkadaluarsa - now() <= '180 days' THEN 'Expire <= 6 Month'
WHEN tglkadaluarsa - now() <= '365 days' THEN 'Expire <= 1 Year'
WHEN tglkadaluarsa - now() <= '725 days' THEN 'Expire <= 2 Year'
WHEN tglkadaluarsa - now() > '725 days' THEN 'Expire More 2 Year'
WHEN tglkadaluarsa is null THEN 'Expire Not Updated'
END AS range_expire,
SUM(CASE
WHEN tglkadaluarsa - now() < '0 days' THEN 1
WHEN tglkadaluarsa - now() <= '180 days' THEN 1
WHEN tglkadaluarsa - now() <= '365 days' THEN 1
WHEN tglkadaluarsa - now() <= '725 days' THEN 1
WHEN tglkadaluarsa - now() > '725 days' THEN 1
WHEN tglkadaluarsa is null THEN 1
ELSE 0
END) AS sum_range_expire,
SUM(CASE WHEN tglkadaluarsa - now() < '0 days' THEN 1 ELSE 0 END) AS 'Has_Expire'
SUM(CASE WHEN tglkadaluarsa - now() <= '180 days' THEN 1 ELSE 0 END) AS Expire_Before_6_Month
SUM(CASE WHEN tglkadaluarsa - now() <= '365 days' THEN 1 ELSE 0 END) AS Expire_Before_1_Month
SUM(CASE WHEN tglkadaluarsa - now() <= '725 days' THEN 1 ELSE 0 END) AS Expire_Before_2_Month
SUM(CASE WHEN tglkadaluarsa - now() > '725 days' THEN 1 ELSE 0 END) AS Expire_More_2_Month
SUM(CASE WHEN tglkadaluarsa is null THEN 1 ELSE 0 END) AS Expire_Not_Updated
FROM sdm.ms_unit
GROUP BY date_ratio, range_expire
ORDER BY range_expire
) AS a
GROUP BY range_expire ORDER BY range_expire