我有table
名称sample
我只希望level
row
按群组返回。
level | value
-------------------
1 | jhon
1 | ren
1 | ronron
2 | mark
2 | nonoy
2 | edong
3 | pajardo
3 | bughao
3 | mariel
4 | marker
4 | jong
4 | jazz
4 | jhon
我只想输出就是这样。
level | value
-------------------
1 | jhon
| ren
| ronron
2 | mark
| nonoy
| edong
3 | pajardo
| bughao
| mariel
4 | marker
| jong
| jazz
| jhon
答案 0 :(得分:2)
你可以在MySQL中做到这一点,虽然我不是真的推荐它:
select l, value
from (select t.*,
(case when @l = level then NULL
else @l := level
end) as l
from table t cross join (@l := NULL) params
order by level
) t;
我不推荐它,因为SQL表/结果集具有明确定义的行和列,并且它表示无序集。您需要的格式意味着给定行的定义取决于以前的行。这种操作最好在应用层完成。
答案 1 :(得分:0)
这不完全是您想要的输出,但您可以使用它来代替:
SELECT level, GROUP_CONCAT(value) FROM sample GROUP BY level