Как показать результаты в процентах с SQL? - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь выполнить некоторые упражнения, в которых я должен показать, сколько продуктов стоит выше 20 в процентах от общего числа.Я могу легко показать продукты, которые стоят выше 20, но я не уверен, как ответить на вопрос в процентах.Общее количество товаров 77.

Показать таблицу с (1) названием категории и (2) сколько продуктов в этой категории стоит выше 20 от общего количества продуктов в категории (в процентах).

Iнаписал до сих пор:

SELECT categoryname, price 
FROM [Products] 
WHERE price > 20

, который говорит мне, что есть 37 записей.

1 Ответ

0 голосов
/ 28 сентября 2018

Count (и аналогичные агрегатные функции) игнорировать null с.Вы можете использовать выражение case, чтобы аннулировать продукты, стоимость которых не превышает 20, и подсчитать их, в результате чего вы получите счет продуктов, стоимость которых превышает 20. Разделение этого количества на общее количество даст вам процент:

SELECT   category, 100 * COUNT(CASE WHEN price > 20 THEN 1 END) / COUNT(*) AS percentage
FROM     products
GROUP BY category
...