gpt4 book ai didi

MySQL 问题编写查询

转载 作者:行者123 更新时间:2023-11-29 07:09:01 24 4
gpt4 key购买 nike

我目前有一个表,其中包含包含以下字段的目录信息:

目录、价格、product_id、尺寸、pack_size、stock_level

一个产品最多可以在目录中出现 30 次(具有不同尺寸和/或不同包装尺寸的同一产品必须具有唯一的 catalog_id)

我现在想显示一个表,该表的左侧为尺码,顶部为尺码,价格为数据,但不知道如何编写查询。

最佳答案

SELECT 
ci.size
,sum(if(ci.pack_size=1,ci.price,null)) as pack_size1
,sum(if(ci.pack_size=2,ci.price,null)) as pack_size2
,sum(if(ci.pack_size=3,ci.price,null)) as pack_size3
,sum(if(ci.pack_size=4,ci.price,null)) as pack_size4
FROM catalog_info ci
WHERE ci.product_id = 345
GROUP BY ci.size -- WITH ROLLUP

如果您取消注释“WITH ROLLUP”,MySQL 将在末尾添加一个额外的授权总计行。

多个产品的相同查询。

SELECT 
ci.product_id
,ci.size
,sum(if(ci.pack_size=1,ci.price,null)) as pack_size1
,sum(if(ci.pack_size=2,ci.price,null)) as pack_size2
,sum(if(ci.pack_size=3,ci.price,null)) as pack_size3
,sum(if(ci.pack_size=4,ci.price,null)) as pack_size4
FROM catalog_info ci
WHERE ci.product_id BETWEEN 1 AND 100
GROUP BY ci.product_id ASC, ci.size DESC -- WITH ROLLUP

请注意,对于汇总,您无法添加order by 子句,但您可以影响组子句中的隐式排序(ASC, DESC) 如上所示。取消注释 with rollup 以添加 grant total 行。

关于MySQL 问题编写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689078/

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