Tuesday 15 March 2011

mysql - Optimizing percentage calculation SQL query -



mysql - Optimizing percentage calculation SQL query -

i have table this:

------------------ sl no | error type ------------------ 1 | err1 ------------------ 2 | err2 ------------------ 3 | err1 ------------------ 4 | err2 ------------------ 5 | err2 ------------------ 6 | err3 ------------------

result want:

--------------------------- error type | count | % --------------------------- err1 | 2 | 33.33 --------------------------- err2 | 3 | 50 --------------------------- err3 | 1 | 16.66 ---------------------------

i'm using next query above result:

select error error, count(*) count, 100* count(*)/(select count(*) logs) percentage logs grouping error;

is optimized task? if not, other efficient ways can information?

this query perform count(*) per row. i'd query once, , cross bring together individual counts:

select a.error, a.cnt, 100 * a.cnt / b.total_count percentage (select error, count(*) cnt logs grouping error) cross bring together (select count(*) total_count logs) b

mysql sql aggregate-functions

No comments:

Post a Comment