Tôi có truy vấn SQL nơi tôi sử dụng Oracle CASE
để so sánh nếu cột ngày là nhỏ hơn hoặc lớn hơn ngày hiện tại. Nhưng làm cách nào để tôi sử dụng số CASE
trong một mã số GROUP BY
? Tôi muốn đếm các hồ sơ trong từng trường hợp.Làm cách nào để sử dụng Group By dựa trên tuyên bố Case trong Oracle?
Ví dụ:
select
(case
when exp_date > sysdate then 1
when exp_date <= sysdate then 2
else 3
end) expired, count(*)
from mytable
group by expired
Nhưng tôi gặp lỗi khi thử cách này: ORA-00904
. Bất kỳ đề xuất?
http://stackoverflow.com/questions/268429/group-by-alias-oracle – manurajhada