【发布时间】:2012-02-12 04:38:23
【问题描述】:
我正在尝试查询我的数据库,以找出 10 月份哪些产品的销量低于 11 月或 12 月。
我认为像下面这样可以做到,但我感觉子查询将返回整个数据库而不是特定产品的最小数量。
使用 GROUP BY 一定有某种方法可以做到这一点,但我想不通。
SELECT Category, Product
FROM Sales
WHERE SaleQuantity < (SELECT MIN(SaleQuantity)
FROM Sales
WHERE MonthNumber > 10)
AND MonthNumber = 10
数据如下:
Category Product MonthNumber SaleQuantity
---------- ----------- ------------- -----------
11 14 10 210
11 14 11 200
11 14 12 390
15 12 10 55
15 12 11 24
17 12 12 129
19 10 10 12
谢谢。
【问题讨论】:
-
这是 SQL Server 吗?您是否考虑过包含产品、月份和最低(销售额)的 CTE,然后加入其中?
-
我只是认为可能有一种使用标准 SQL 获取这些数据的简单方法
-
这完全是个人喜好问题,但我对您在问题中给出的查询的经验是,如果您使用 CTE,您将获得一个简单、干净的实现。
标签: sql