gpt4 book ai didi

mysql - GROUP CONCATen 多行

转载 作者:行者123 更新时间:2023-11-29 14:07:42 26 4
gpt4 key购买 nike

我使用的是 MySQL 5.1.66,我想出了一个选择查询来选择所有男士衬衫及其尺寸和价格。我使用 GROUP CONCAT 将尺寸列和价格列从其父表合并到同一列中。这是我的声明

SELECT shirts.shirt_name, shirts.men AS main_photo, 
GROUP_CONCAT(shirt_sizes.size_name,shirt_prices.price) AS sizes
FROM shirts
JOIN shirts_link ON shirts_link.shirt_id=shirts.id
JOIN shirt_sizes ON shirt_sizes.id=shirts_link.size_id
JOIN shirt_prices ON shirt_prices.id=shirts_link.price_id
WHERE shirts.men!='' AND shirts_link.adult='y'
GROUP BY shirts.id

通过这样做,尺寸列和价格列仍然是 select 语句中该列中的两个单独的实体吗?我注意到的另一件事是尺寸的顺序全部混淆了。例如,这是其中一列中的一行

medium29.22,large29.22,1x-large29.22,2x-large30.44,small29.22,3x-large31.70

为什么它不像 table 上排列的那样从小 3x 开始?我想,如果我试图通过 PHP 将其注入(inject)我们的网站,如果它要自动加载,它也会以这种无组织的方式进行。我该如何解决这个问题?

我的最终目标是能够创建一个选择,可以将每一行自动填充到我创建的 JavaScript 应用程序中。我需要将衬衫名称、主图片、每个尺寸和价格加载到我为它们编码的 div 中。如果您需要查看正在使用的实际表格,请告诉我。预先感谢:)

最佳答案

group_concat 函数的首要目的是在分组操作中保留特定列的所有值。例如,

Table1
ID field1 field2
1 ram science
2 ramesh maths
1 ram maths

如果您的要求是获取特定人的主题,那么 GROUP_CONCAT 将产生如下结果,

ID  field1   field3
1 ram science,maths
2 ramesh maths

希望这能提供一些见解

关于mysql - GROUP CONCATen 多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14100631/

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