作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是带有 IN 子句的简单查询。但问题是我需要按照 ID 的相同顺序获取输出。
SELECT GROUP_CONCAT(username) as users FROM usertable WHERE usr_id IN (54,68,46)
例如,如果我传递 54、68、46,那么 usr_id 为 54 的行应该首先出现,然后是 68,然后是 46。有没有办法在 MySQL 中实现这一点?
最佳答案
我们可以在 order by 子句上使用 FIND_IN_SET
来获取与此相同顺序的值。
SELECT `username` as users FROM usertable WHERE usr_id IN (54,68,46) ORDER BY FIND_IN_SET(`usr_id`,"54,68,46")
但我不知道如何以相同的顺序GROUP_CONCAT
。如果有人用这种简单的方法给出了答案,我可以接受这个答案。
关于MySQL 按 IN 子句中值的相同顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734524/
我是一名优秀的程序员,十分优秀!