gpt4 book ai didi

mysql - SUM 子查询?

转载 作者:行者123 更新时间:2023-11-29 03:58:09 27 4
gpt4 key购买 nike

查看了标题相似的问题,但没有一个能完全涵盖我的问题。我有一个看起来像这样的查询。

   SELECT
bus_products.id
, bus_products.prod_name
, (
SELECT SUM(bus_warehouse_entries.quantity) * bus_products.weight
FROM bus_warehouse_entries
WHERE bus_warehouse_entries.org_product_code = bus_products.prod_code
AND bus_warehouse_entries.type = 0
AND bus_warehouse_entries.request_date >= 'some_date_here'
) AS reg_yr
FROM
bus_products
WHERE 1'some_search_params'
GROUP BY bus_products.prod_name
ORDER BY 'some_sort'

当我按产品名称分组时,子查询通过匹配产品代码进行选择。多个产品代码可能具有相同的产品名称。如果有多个同名代码,由于分组,上述查询只抓取第一个代码的数量。

我只想在子查询周围添加一个 SUM() 以获得具有该特定产品名称的所有产品代码的总数,但这会导致子查询 SELECT 开头出现语法错误。关于如何以其他方式完成此任务的任何建议?

为了简化起见,表格看起来像这样

bus_products
id | prod_code | prod_name | weight

bus_warehouse_entries
org_product_code | quantity | type | request_date

最佳答案

SELECT x.prod_name
, SUM(x.total)
FROM ( SELECT bp.prod_name
, ( SELECT SUM( wh.quantity ) * bp.weight
FROM bus_warehouse_entries wh
WHERE bp.prod_code = wh.org_product_code ) AS total
FROM bus_products bp ) x
GROUP BY x.prod_name

您可以在 from 内的 select 中添加更多子查询,并在外部查询中对它们求和。

关于mysql - SUM 子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7562873/

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