gpt4 book ai didi

mysql - 如何根据另一列的值之和选择一行?

转载 作者:行者123 更新时间:2023-11-29 12:37:16 26 4
gpt4 key购买 nike

我有一个名为 stock 的表,其设计如下:

| ID | product_id | qty |
|----|------------|-----|
| 1| 1 | 4 |
| 2| 1 | 3 |
| 3| 2 | 10 |
| 4| 2 | 15 |
| 5| 3 | 2 |

从此表中,我想选择总数量小于 10 的 product_id。根据这个表选择(product_id)必须是

  • 1
  • 3

这是我迄今为止尝试过的:

SELECT product_id 
FROM stock
WHERE 10>(SELECT SUM(quantity) FROM stock)

请帮我弄清楚为什么这不起作用。

最佳答案

这不起作用,因为如果您使用聚合函数,则必须将其放在 HAVING 子句中。您还希望按 Product_id 进行分组,以便 SUM() 函数知道要对哪些组求和。

试试这个:

SELECT product_id
FROM stock
GROUP BY product_id
HAVING SUM(quantity) < 10;

这是SQL Fiddle为您提供示例。

关于mysql - 如何根据另一列的值之和选择一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26580253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com