我希望通过查询获得有组织的数据
表1:
Name Val Pid
CA1 2 123
CA2 3 123
CA3 9 123
CA5 6 123
CA4 3 123
我想编写一个查询,它只为父ID提供Val,但采用结构化格式,
我希望得到像2 3 9 3 6
这样的值如果我这样做
select val from table1 where pid='123'
我会得到2 3 9 6 3格式为CA1,CA2,CA3,CA5,CA4
所需的输出: 但我想要2 3 9 3 6中的值,其格式为 CA1,CA2,CA3,CA4,CA5
结果应该是给定pid
的结构化格式,而不管它如上所述存储在Name列中的顺序。
答案 0 :(得分:1)
如果您希望单独使用名称,则可以使用ORDER BY
子句
select * from table1 order by Name asc
答案 1 :(得分:0)
SELECT
GROUP_CONCAT(Val ORDER BY Name ASC SEPARATOR ' ')
FROM
tablename
WHERE
Pid = '123'
GROUP BY
Pid;
演示
答案 2 :(得分:0)
试试这个......
select val from table1 where pid='123' order by Name asc
或所有列
select * from table1 where pid='123' order by Name asc