【发布时间】:2014-01-09 14:07:37
【问题描述】:
我尝试创建选择查询,但仍在苦苦挣扎。我的目标是从列 AMOUNT 接收总金额,但对于每一行 COLUMN_ID,必须至少有一个小于 50 的值和至少一个大于 50 的值。必须通过汇总每个小于 50 的值来计算总金额,并且这个总数必须小于 100。
- 假设我有值 (90, 20, 40) - 结果应该是 SUM(AMOUNT) = 60
- 假设我有值 (52, 70, 20, 40) - 结果应该是 SUM(AMOUNT) = 60
- 假设我有值 (32, 7) - 没有结果,因为没有超过 50 的值
- 假设我有值 (60, 150) - 没有结果,因为没有小于 50 的值
- 假设我有值 (75, 20, 40, 45) - 没有结果,因为 SUM(AMOUNT) = 105 所以超过 100
选择我在下面创建的查询只需要添加:sum(amount) of values where each one is less than 50
SELECT COLUMN_ID, SUM(AMOUNT)
FROM TABLE1
WHERE ...
GROUP BY COLUMN_ID
HAVING MIN(AMOUNT) < 50 AND MAX(AMOUNT) > 50 AND SUM(AMOUNT) < 100;
【问题讨论】:
标签: sql