gpt4 book ai didi

php - 在 PHP/MySql 中使用 group_concat 获取

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:48 26 4
gpt4 key购买 nike

我试图获取用逗号 (,) 分隔的用户名列表,我使用了这个 SQL:

$sql="select group_concat(concat(' ',username,' ')) as username from user";
$var=mysql_query($sql);
while($v=mysql_fetch_assoc($var)){ $variable=$v['username']; }
echo $variable;

忽略这里的mysql_*函数

上面的 SQL 帮助我获取数据库中所有用户的列表并回显它,但是当我使用 LIMIT 3 和/或 ORDER BY rank 时我遇到了问题> 最后像:

$sql="select group_concat(concat(' ',username,' ')) as username from user ORDER BY rank LIMIT 3";

在我添加 ORDER BY.... 之后,结果没有任何变化。

有没有办法在 SQL 末尾使用 ORDER BY rank LIMIT 3 来修复上述代码?或者还有其他方法吗?

提前致谢!

最佳答案

修复

filter your users in subquery before passing to group_concat..

调整后的查询

select group_concat(concat(' ',username,' ') ORDER BY rank ) as username 
from
(
select id, username, rank
from user
order by rank
limit 3
) filtered_users
;

输出

+-----------------------+
| username |
+-----------------------+
| jonny , zelda , maria |
+-----------------------+

sqlfiddle

关于php - 在 PHP/MySql 中使用 group_concat 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34238489/

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