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

标签 php mysql

我试图获取用逗号 (,) 分隔的用户名列表,我使用了这个 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/

相关文章:

javascript - PHP聊天客户端-服务器通信

使用多个 AND 运算符的 Php MySql 语句

mysql计算一个月中不同的天数

php - Wordpress Jetpack 共享按钮在自定义主题上显示有趣

php - Cakephp:插入tinyint字段时。仅获取 "0"或 "1"

php - APC 与 pcntl_fork() 一起使用时可以提高 CLI 脚本的速度吗?

php - 如何分离管理员用户界面和学生用户界面

php - 我应该如何管理这个数据库?

php 脚本 - 一次只允许一个 session

javascript - 我在使用 jquery ajax 加载文本文件内容时遇到一些问题