Mysql 仅在一行中返回sql的结果
我正在使用此查询获取Mysql 仅在一行中返回sql的结果,mysql,Mysql,我正在使用此查询获取users表中所有可能的成员: SELECT u.id as id , u.name as name, u.age as age FROM users u 显然,结果是: id name age ----------------------- 21 name1 age1 22 name2 age2 23 name3 age3 24
users
表中所有可能的成员:
SELECT u.id as id ,
u.name as name,
u.age as age
FROM users u
显然,结果是:
id name age
-----------------------
21 name1 age1
22 name2 age2
23 name3 age3
24 name4 age4
我想要的是得到以下最终结果:
id_1 name_1 age_1 id_2 name_2 age_2 id_3 name_3 age_3 id_4 name_4 age_4
--------------------------------------------------------------------------------------------------------
21 name1 age1 22 name2 age2 23 name3 age3 24 name4 age4
正如您在最终结果中看到的,我希望返回一行。可能吗?如果可能的话,我能问你关于如何实现它的任何建议吗?任何答案都将不胜感激 该要求在数据操作中看起来不实用。但如果这是你想要的格式化方法
SELECT
GROUP_CONCAT(if(id = 21, id, NULL)) AS id_1,
GROUP_CONCAT(if(id = 21, name, NULL)) AS name_1,
GROUP_CONCAT(if(id = 21, age, NULL)) AS age_1,
GROUP_CONCAT(if(id = 22, id, NULL)) AS id_2,
GROUP_CONCAT(if(id = 22, name, NULL)) AS name_2,
GROUP_CONCAT(if(id = 22, age, NULL)) AS age_2,
GROUP_CONCAT(if(id = 23, id, NULL)) AS id_3,
GROUP_CONCAT(if(id = 23, name, NULL)) AS name_3,
GROUP_CONCAT(if(id = 23, age, NULL)) AS age_3,
GROUP_CONCAT(if(id = 24, id, NULL)) AS id_4,
GROUP_CONCAT(if(id = 24, name, NULL)) AS name_4,
GROUP_CONCAT(if(id = 214, age, NULL)) AS age_5
FROM users
GROUP BY id
很确定这是一个复制品,谢谢你给我这个主意