Projemde sınıf var kapastesi 10’un altında olanlara Harika,10 ve 40 arasında olanlara
Normal, 40’ın üstünde olanlara Berbat diyeceğim takma isimlerle.
Sonra kaç tane harika kaç tane normal kaç tane berbat sınıf olduğunu 3 satır haline getiremedim
ilgili kod;
SELECt (case when kapasite < 10 then 'Harika' when kapasite > 10 or kapasite < 40 then 'Normal Sınıf' end ) AS [İSİM], COUNT(kapasite) AS [ADET] FROM TEST_SINIFLAR WHERE kapasite BETWEEN 0 AND 9 group by kapasite
group by kısmını da case-when ile yazarak çözebilirsin:
SELECT
case when
kapasite < 10 then 'Harika'
when kapasite > 10 or kapasite < 40 then 'Normal Sınıf' end AS [İSİM],
COUNT(kapasite) AS [ADET]
FROM
TEST_SINIFLAR
WHERE kapasite BETWEEN 0 AND 9
group by case when
kapasite < 10 then 'Harika'
when kapasite > 10 or kapasite < 40 then 'Normal Sınıf' end
veya case-when kullanıp oluşturduğun sütunu subquery yaparak dışarıya ekstra bir select ile group by yapabilirsin:
SELECT İSİM, COUNT(kapasite) AS [ADET]
FROM
(SELECT
case when
kapasite < 10 then 'Harika'
when kapasite > 10 or kapasite < 40 then 'Normal Sınıf' end AS [İSİM],
kapasite
FROM
TEST_SINIFLAR
WHERE kapasite BETWEEN 0 AND 9 )
GROUP BY İSİM