select min(sum_qty) from (select productid,sum(quantity) sum_qty from orderdetails)考虑有多个最小值的情况
时间: 2024-10-20 13:06:31 浏览: 17
数据库常用聚合函数总结
当你想要计算"orderdetails"表中每个产品的总订货量(sum_qty),并找到其中所有最小的总订货量时,你的SQL语句接近正确。首先,你会通过子查询计算每个产品的总订货量,并在外部查询中寻找最小的总订货量。然而,如果你担心可能存在多个最小值的情况,你需要稍微调整一下查询结构:
```sql
SELECT productid, MIN(sum_qty)
FROM (
SELECT productid, SUM(quantity) as sum_qty
FROM orderdetails
GROUP BY productid
) subquery
GROUP BY productid
HAVING sum_qty = (
SELECT MIN(sum_qty)
FROM (
SELECT SUM(quantity) as sum_qty
FROM orderdetails
GROUP BY productid
) all_product_sum
);
```
在这个查询中,内部子查询首先按产品ID分组并计算每个产品的总订货量。外部查询再次按产品ID分组,然后只选择那些等于整体最小总订货量的产品。这样可以确保你得到的是每个产品中订货量最小的那个。
阅读全文