mysql - SQL子查询帮助(我相信使用聚合函数)

标签 mysql sql subquery

image

我正在为我的 SQL 查询类做作业,但我陷入了子查询。我需要按仓库列出现有数量少于 20 件的元素数量。我只需要显示拥有超过 1 件商品且库存数量少于 20 件的仓库。这是我所拥有的:

select warehouse, on_hand, description
from part
where on_hand < 20 and 
(   select count(description)
    from part
    group by warehouse
)
order by warehouse;

我需要帮助的是子查询部分(如果我需要的话,子查询就是我所困扰的)。我不一定想要直接的答案,但需要帮助,例如提示和方向。

最佳答案

好吧,由于您不希望有人为您完成所有工作,并且您想使用子查询,因此您可以尝试以下操作:

select col1, total_items 
from
(   select col1, 
    sum(col2) as total_items
    from part
    group by col1
) 
where total_items < 20 and total_items > 0
order by total_items;

请注意,您会将子查询视为“表”...

现在,使用 HAVING 子句:

select warehouse, count(description)
from part
where on_hand < 20
group by warehouse 
having count(description) > 1
order by warehouse;

您可以了解有关此条款的更多信息here .

关于mysql - SQL子查询帮助(我相信使用聚合函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40094993/

相关文章:

mysql - SQL - 计算给定时期的平均汇率并在选择中使用

mysql - 具有特定于客户端的节点的嵌套集模型

java - 如何在 Java 中执行在 where in 子句中单个变量中有多个值的 SQL 语句

php - 根据用户搜索输入查找库详细信息 - 使用 LIMIT 和 OFFSET

带有嵌套 FROM (SELECT) 的 php sql UPDATE

sql-server - MSSQL JOIN ON GROUP BY 太慢

MySQL 从同一个表更新值与计数

postgresql - 在 PostgreSQL 中如何操作多个子查询的执行顺序?

php - SQL 计算其他列值多次出现的列中值的总数

mysql - phpmyadmin 插入 csv 文件