Đây là phiên bản gợi cảm hơn một chút của một số câu trả lời khác - lưu ý việc sử dụng sum(100)
để tránh count(*) * 100
dài hơn (và trần tục hơn) :)
select name, count(*) as count, sum(100) / total as percentage
from namelist
cross join (select count(*) as total from namelist) x
group by 1