【发布时间】:2020-09-30 08:02:17
【问题描述】:
我是 MySQL 新手。我有一个数据表,我想将其转换为 5 行。
来自SELECT File FROM tbl_file。我有
+--------+
| File |
+--------+
| B.jpg |
+--------+
| X.jpg |
+--------+
| H.png |
+--------+
| C.png |
+--------+
| A.gif |
+--------+
| G.pdf |
+--------+
| Y.docx |
+--------+
| U.jpeg |
+--------+
当行旋转到 5 列时,这是我需要的。
+-------+--------+--------+-------+-------+
| A | B | C | D | E |
+-------+--------+--------+-------+-------+
| B.jpg | X.jpg | H.png | C.png | A.gif |
+-------+--------+--------+-------+-------+
| G.pdf | Y.docx | U.jpeg | | |
+-------+--------+--------+-------+-------+
当第一行被填充到它的限制(5)时,下一行继续被填充。
这是我尝试过的:
SELECT GROUP_CONCAT(File) FROM tbl_file GROUP BY id;
我没有得到我想要得到的东西。
非常感谢。
【问题讨论】:
-
只在你的应用代码中处理显示逻辑
-
@strawberry 我的应用程序代码中已经有很多循环。添加它会使其变慢。由于数据库更快,我考虑直接运行它并返回一个表。
标签: mysql sql string pivot window-functions