Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql的单次查询中设置选中的值组?_Mysql_Sql_Dataset - Fatal编程技术网

如何在mysql的单次查询中设置选中的值组?

如何在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

下面是我的桌子的样子:

创建表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,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