我正在使用PHP的背包-crud控制器。
使用背包(库)提供的crudController,我所要做的就是使用Laravel雄辩(也可能是原始的)查询来查询它。
而背包库会自动为我打印列表视图。
但我正在努力解决这个难题。
问题是我有四栏,
session_id | column_id | batch | data
10 | 1 | 1 | data1
10 | 2 | 1 | data2
10 | 1 | 2 | data1*
10 | 2 | 2 | data2*
假设这是我的数据。我想通过session_id、批处理和按column_id在行内排序来显示这个分组。
因此,结果查询将类似于
1 : data1 data2
2 : data1* data2*
如果有第三批数据
session_id | column_id | batch | data
10 | 1 | 3 | data1**
然后它将出现在第三批下,如
3 : data1**
我可以用代码来完成这个任务,但不能使用sql。
任何建议都将不胜感激。
发布于 2018-12-09 02:15:40
这看起来像server中的枢轴。不幸的是,mysql没有这个特性。
我可以使用GROUP_CONCAT
提供一个大致的原始mysql查询。假设您的表名是mytable
。
SELECT
session_id,
batch,
GROUP_CONCAT(data ORDER BY column_id SEPARATOR ', ') AS dataList
FROM mytable
GROUP BY session_id, batch
然后可以使用给定的分隔符拆分别名的dataList
列(这里我使用了,
)。您可以根据data
列中包含的数据更改分隔符。
希望这对你有帮助。
https://stackoverflow.com/questions/53687403
复制相似问题