gpt4 book ai didi

php - mysql - 返回第一列一次和所有对应的列数据

转载 作者:行者123 更新时间:2023-11-29 05:22:18 25 4
gpt4 key购买 nike

不确定标题是否真的定义了我正在寻找的内容。

我想要做的是返回具有匹配列值的所有行。仅显示第一个值一次,并显示所有其他列。这是表格的视觉效果:

id     name    data
======================
0 john data1
1 john data2
2 jane data1
3 jane data2
4 jane data3

因此结果将显示为:

john
data1
data2

jane
data1
data2
data3

我知道我可以使用 DISTINCT 获取一次名称,但我需要先从查询中获取所有名称,然后循环并运行第二个查询,还是我可以这样做在一份声明中?

现在我有一个 foreach,它使用一个数组来遍历并获取所有内容。所以它目前显示为:

john - data1
john - data2
jane - data1
jane - data2
jane - data3

每次都显示第一列在美学上似乎很糟糕,但我不太确定如何有效地解决这个问题。

感谢您的帮助。

最佳答案

通过利用 MySQL 的 group_concat 函数,您可以在不使用 PHP 函数的情况下执行此操作,该函数完全符合您的要求:

SELECT name, group_concat(`data`) FROM table GROUP BY name;

将返回带有“John”的一列和带有“data1,data2”的第二列。然后,您可以在第二列上使用 PHP 的 explode() 函数来获取包含“data1”和“data2”的数组。

关于php - mysql - 返回第一列一次和所有对应的列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248778/

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