i need help with query i have table with this format
uniqueid|createdDate|ask1|ask2|ask3|ask4|ask5
--------------------------------------------
10001 |2020-09-30 |Yes |Yes |Yes |Yes |Yes
10002 |2020-09-30 |Yes |No |Yes |Yes |Yes
i want result query like this
uniqueid|createdDate|Yes|No|percent
--------------------------------
10001 |2020-09-30 |5 |0 |100%
10002 |2020-09-30 |4 |1 |95%
this is my query
SELECT
uniqueid,
createdDate,
@yes := SUM(CASE WHEN ask1 = 'Yes' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask2 = 'Yes' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask3 = 'Yes' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask4 = 'Yes' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask5 = 'Yes' THEN 1 ELSE 0 END) as 'Yes',
SUM(CASE WHEN ask1 = 'No' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask2 = 'No' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask3 = 'No' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask4 = 'No' THEN 1 ELSE 0 END)+SUM(CASE WHEN ask5 = 'No' THEN 1 ELSE 0 END) as 'No',
FLOOR(@yes/5)*100 as 'percent'
FROM table
GROUP BY uniqueid
why @yes only get last value from last row data. i need help to fix this.