如何在mysql的单次查询中设置选中的值组?
下面是我的桌子的样子: 创建表my_TABLE(id INT,user_id VARCHAR(5)) 插入到我的表中 价值观 (1, 100), (2, 200), (3, 100), (4, 150), (5, 200), (6, 300), (7, 400), (8, 500); 我想要什么 首先,我需要按用户id检查查询组,如何在mysql的单次查询中设置选中的值组?,mysql,sql,dataset,Mysql,Sql,Dataset,下面是我的桌子的样子: 创建表my_TABLE(id INT,user_id VARCHAR(5)) 插入到我的表中 价值观 (1, 100), (2, 200), (3, 100), (4, 150), (5, 200), (6, 300), (7, 400), (8, 500); 我想要什么 首先,我需要按用户id检查查询组,我得到了100150200300400500然后检查每个用户id得到了自己的id值集最后我想要这个答案用户id集合100 | 1,3150 | 4200 | 2,53
我得到了100150200300400500
然后检查每个用户id得到了自己的id值集
最后我想要这个答案
用户id集合
100 | 1,3
150 | 4
200 | 2,5
300 | 6
400 | 7
500 | 8
注意:
我需要单个查询。
请帮助我。
CREATE TABLE my_table(id INT,user_id VARCHAR(5)); INSERT INTO my_table VALUES (1, 100), (2, 200), (3, 100), (4, 150), (5, 200), (6, 300), (7, 400), (8, 500);
请参阅使用函数。只需使用group by,并使用group CONCAT将ID合并在一起
SELECT user_id,GROUP_CONCAT(id separator ",") as sets
FROM my_table
GROUP BY user_id;
使用GROUP_CONCAT函数
SELECT user_id, GROUP_CONCAT(id) AS sets
FROM my_table
GROUP BY user_id
ORDER BY user_id
您可以尝试以下方法:-
select user_id, GROUP_CONCAT(id) as sets from your_table
group by user_id
这正在使用您提供的数据库
SELECT USER_ID AS USER, GROUP_CONCAT(ID) AS SETS FROM TABLE_NAME
GROUP BY USER_ID;
SELECT USER_ID AS USER, GROUP_CONCAT( ID ) AS SETS
FROM my_table
GROUP BY USER_ID
LIMIT 0 , 30