Я хочу использовать среднее значение() с случае, однако моя команда ниже, кажется, дает мне ошибку, но я не могу понять, почемумогу показаться, чтобы получить AVG(), чтобы работать с футляром в SQL
SELECT
avg(case when price between 0 AND 9 then price end),
avg(case when price between 10 AND 19 then price end),
avg(case when price between 20 AND 29 then price end),
avg(case when price between 30 AND 39 then price end),
avg(case when price between 40 AND 49 then price end)
FROM products;
база данных выглядит примерно так:
ProductID ProductName Price
1 Chais 18
2 Chang 19
3 Aniseed Syrup 33
8 Northwoods Cranberry Sauce 40
9 Mishi Kobe Niku 97
не стесняться. Включите ошибку в свой вопрос. Кроме того, пометьте свой вопрос базой данных, которую вы фактически используете. SQL Server? Или SQLite? –
Что такое «случай»? – BugInTheCode
Представленный вами запрос выглядит хорошо для меня, и он работает без ошибок для меня в темах, которые вы отметили (SQL Server и SQLite), а также в последних версиях MySQL, Oracle и PostgreSQL. В каждом случае он возвращает значение '34' для среднего значения, которое является правильным для данных и запроса. Если вы получаете сообщение об ошибке, то это вряд ли будет связано с запросом и данными, которые вы представили. –