-- PERCENTILE USE TERADATA
--mysql
SELECT PCT,AVG(TARIF),COUNT(KODE) TOTAL FROM
(SELECT CAST((@ROWNUM:=@ROWNUM+1)*100/TOTAL AS SIGNED) AS `PCT`,A.*
FROM
TABLE_NAME A,
(SELECT @ROWNUM:=0) R,
(SELECT COUNT(*) TOTAL FROM TABLE_NAME ) T
ORDER BY TARIF) P
GROUP BY PCT;
SELECT PCT,AVG(TARIF),COUNT(DISTINCT KODE)
FROM (SELECT A.*,(ROW_NUMBER() OVER (ORDER BY TARIF ) -1) * 100 / COUNT(*) OVER() +1 AS PCT
FROM (SELECT KODE,SUM(TARIF) TARIF
FROM TABLE_NAME
WHERE MONTH = 201204
GROUP BY KODE) A
) B
GROUP BY PCT;
--mysql
SELECT PCT,AVG(TARIF),COUNT(KODE) TOTAL FROM
(SELECT CAST((@ROWNUM:=@ROWNUM+1)*100/TOTAL AS SIGNED) AS `PCT`,A.*
FROM
TABLE_NAME A,
(SELECT @ROWNUM:=0) R,
(SELECT COUNT(*) TOTAL FROM TABLE_NAME ) T
ORDER BY TARIF) P
GROUP BY PCT;