From: | Alex Magnum <magnum11200(at)gmail(dot)com> |
---|---|
To: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Creating Report for PieChart |
Date: | 2015-10-13 23:56:11 |
Message-ID: | CA+cR4zdAMPnyMqHUoozvG65qZ1AGwK01tNu4OVUB7ejV1KAK+Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello,
I need to process some statistics for a pie chart (json) where I only want
to show a max of 8 slices. If I have more data points like in below table I
need to combine all to a slice called others. If there are less or equal 8
i use them as is.
I am currently doing this with a plperl function which works well but was
just wondering out of curiosity if that could be done withing an sql query.
Anyone having done something similar who could point me in the right
direction?
SELECT count(*),country_name FROM stats_archive WHERE id=400 GROUP BY
country_name ORDER BY COUNT DESC;
count | country_name
-------+-------------------
302 | Malaysia
65 | Singapore
57 | Thailand
26 | Indonesia
15 | France
14 | United States
14 | India
13 | Philippines
12 | Vietnam
10 | Republic of Korea
10 | Canada
7 | Australia
6 | Brazil
6 | Czech Republic
5 | Switzerland
4 | Saudi Arabia
3 | Ireland
3 | Japan
3 | Sweden
3 | South Africa
3 | Belarus
3 | Colombia
3 | United Kingdom
1 | Peru
country_name | count | perc
-----------------+-------+-------
Malaysia | 302 | 51.4
Singapore | 65 | 11.0
Thailand | 57 | 9.7
Indonesia | 26 | 4.4
France | 15 | 2.6
United States | 14 | 2.4
India | 14 | 2.4
Others | 95 | 16.1
Total | 588 | 100
Thanks a lot for any suggestions
Alex
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2015-10-14 00:57:44 | Re: Creating Report for PieChart |
Previous Message | John R Pierce | 2015-10-13 22:44:15 | Re: ID column naming convention |