मेरे पास आपका नमूना डेटा नहीं है, लेकिन मैंने यहां केवल एक तालिका के साथ परिदृश्य को फिर से बनाया है: डेमो
आप LEFT JOIN
generate_series()
. के साथ मायने रखता है और n
. की गुम गिनती के लिए शून्य प्राप्त करें सदस्यता। यदि आप शून्य नहीं चाहते हैं, तो बस दूसरी क्वेरी का उपयोग करें।
क्वेरी1
WITH c
AS (
SELECT profile_id
,count(*) ct
FROM Table1
GROUP BY profile_id
)
,m
AS (
SELECT MAX(ct) AS max_ct
FROM c
)
SELECT n
,COUNT(c.profile_id)
FROM m
CROSS JOIN generate_series(1, m.max_ct) AS i(n)
LEFT JOIN c ON c.ct = i.n
GROUP BY n
ORDER BY n;
क्वेरी2
WITH c
AS (
SELECT profile_id
,count(*) ct
FROM Table1
GROUP BY profile_id
)
SELECT ct
,COUNT(*)
FROM c
GROUP BY ct
ORDER BY ct;