Woops, I think I had it right the first time then re-thought it wrongly :)
Your SQL would then look like this:
CREATE TABLE T (Grp INT);
INSERT INTO T VALUES (5),(21),(27),(28),(22),(39),(44),(45),(46),(51),(88);
WITH TC(Tot) AS (
SELECT CAST(COUNT(*) AS REAL) FROM T
), SL(Slice) AS (
SELECT CAST((T.Grp / 10) AS INT) * 10
FROM T
)
SELECT Slice||' - '||(Slice+9) AS Slice, COUNT(*) AS Cnt, ROUND(COUNT(*)
/ Tot * 100,2) AS Perc
FROM SL, TC
GROUP BY Slice
-- Slice | Cnt | Perc
-- --------- | --- | ---------
-- 0 - 9 | 1 | 9.09
-- 20 - 29 | 4 | 36.36
-- 30 - 39 | 1 | 9.09
-- 40 - 49 | 3 | 27.27
-- 50 - 59 | 1 | 9.09
-- 80 - 89 | 1 | 9.09
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users