[英]return by group in specific row
我有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
您可以在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表/结果集具有定义明确的行和列,并且它表示无序集。 所需的格式意味着给定行的定义取决于先前的行。 此类操作最好在应用程序层进行。
它不是您想要的输出,但是您可以使用它:
SELECT level, GROUP_CONCAT(value) FROM sample GROUP BY level
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.