gpt4 book ai didi

mysql - 如何在分组查询时获取其他行值?

转载 作者:行者123 更新时间:2023-11-29 09:23:43 25 4
gpt4 key购买 nike

让我用例子来解释一下,

id  firstname lastname Mark
--------------------------------
1 arun prasanth 40
2 ann antony 45
3 sruthy abc 41
6 new abc 47
1 arun prasanth 45
1 arun prasanth 49
2 ann antony 49

按原样,如果我查询如下:

select count(*) as count, firstname, lastname, Mark
from tableA
group by id
order by count desc

然后在结果中,3 arun ~~ 行将位于顶部。我必须保留这个订单(count desc)

但我想搜索每个 Mark 分数,即 49 45 40。我想将结果放入 $sql 中并像 $sql['(ann 的每个分数)'] 一样使用它,我该怎么做?

最佳答案

使用GROUP_CONCAT:

SELECT COUNT(*) AS COUNT, firstname, lastname, GROUP_CONCAT(mark) AS Mark
FROM tableA
GROUP BY id
ORDER BY COUNT DESC

这将显示带有逗号的“40, 45, 49”等标记。如果您不需要逗号,请在 GROUP_CONCAT 中添加 SEPARATOR,如下所示:

SELECT COUNT(*) AS COUNT, firstname, lastname, GROUP_CONCAT(mark SEPARATOR ' ') AS Mark
FROM tableA
GROUP BY id
ORDER BY COUNT DESC

这将使用空格(' ')作为分隔符,而不是像'40 45 49'这样的逗号。当然,您可以定义任何您想要的分隔符。

关于mysql - 如何在分组查询时获取其他行值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59979847/

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