Getting percentage of "Count(*)" to the number of all items in "GROUP BY"
Solution 1:
SELECT Category, COUNT(*) AS Total , (COUNT(*) / (SELECT COUNT(*) FROM Item WHERE Department='Popular')) * 100 AS 'Percentage to all items',
FROM Item
WHERE Department='Popular'
GROUP BY Category;
I'm not sure of the MySql syntax, but you can use a sub-query as shown.
Solution 2:
This should do it:
SELECT I.category AS category, COUNT(*) AS items, COUNT(*) / T.total * 100 AS percent
FROM Item as I,
(SELECT COUNT(*) AS total FROM Item WHERE Department='Popular') AS T
WHERE Department='Popular'
GROUP BY category;