Kırsal veya kentsel bir konumda bulunan kuruluşların oranlarına bakmaya çalışıyorum - 'Kırsallık' kategorisinde 'Kırsal', 'Kentsel' veya ' BOŞ'. 'Kentsel' ve 'Kırsal' yüzdelerini tüm değerlerin yüzdesi olarak hesaplayabilirim, ancak tüm oluşumları 'NULL' değeriyle hariç tutmak istiyorum.SQL: Yalnızca belirli değerlerin yüzdesi olarak yineleme sayısı
SELECT Geography_Rurality_DEFRA_Grouped as 'Type',
COUNT(*) as 'Count',
(COUNT(Geography_Rurality_DEFRA_Grouped)* 100/(SELECT COUNT(*) FROM [SWFC_Project].[dbo].[Lookup_SchoolLevelIndicators])) AS Perc
FROM [SWFC_Project].[dbo].[Lookup_SchoolLevelIndicators]
WHERE Geography_Rurality_DEFRA_Grouped IS NOT NULL
GROUP BY [Geography_Rurality_DEFRA_Grouped]
ORDER BY 'Count' desc, Geography_Rurality_DEFRA_Grouped
Ve çıkışı:: Şu anda
Ben
Type | Count | Perc
-------------------
Urban| 78117 | 72
Rural| 27693 | 25
istediğim oysa yüzdeler, ancak,% 97 kadar ekleyin Ancak 'Kentsel' ve 'Köy' için 'NULL' değerleri hariç% 100'üm.
Bu, fark yaratan SSMS kullanıyorum. senin alt sorgu üzerinde koşulu eklemelisiniz yılında
'* 100.0' Fark eder:
Ama SQL Server Pencereli Agrega İşlevini destekler, sadece bir GRUP SUM gerek? – jarlh
Alt sorgunuzda NEREDEN NEMİN YOKTUR –