【发布时间】:2015-05-15 16:47:04
【问题描述】:
我想使用带有大小写的 average(),但是我下面的命令似乎给了我一个错误,但我不知道为什么
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 服务器?或者,SQLite?
-
您提供的查询对我来说看起来不错,并且它在您标记的数据库(SQL Server 和 SQLite)以及最新版本的 MySQL、Oracle 和 PostgreSQL 中运行对我来说没有错误。在每种情况下,它都会返回平均值
34,这对于给定的数据和查询是正确的。如果您收到错误,那么它似乎不太可能与您提供的查询和数据有关。 -
你还没有告诉我们错误是什么。
标签: sql sql-server sqlite