美好的一天,我想问问这是否可能在MySQL中
SELECT id,label,name,age,sex FROM table LIMIT 3
输出量
[row1] id,label,name,age,sex
[row2] id,label,name,age,sex
[row3] id,label,name,age,sex
我需要的输出
[row1] id
[row2] label
[row3] name
[row4] age
[row5] sex
[row6] id
[row7] label
[row8] name
[row9] age
[row10] sex
[row11] id
[row12] label
[row13] name
[row14] age
[row15] sex
您可以执行以下操作:
SELECT * FROM
((SELECT id AS id1, 1 AS rownum, 'id' AS colname, id AS Data_value FROM mytable LIMIT 3)
UNION ALL
(SELECT id, 2, 'label', label FROM mytable LIMIT 3)
UNION ALL
(SELECT id, 3, 'name', name FROM mytable LIMIT 3)
UNION ALL
(SELECT id, 4, 'age', age FROM mytable LIMIT 3)
UNION ALL
(SELECT id, 5, 'sex', sex FROM mytable LIMIT 3)) A
ORDER BY id1, rownum
这是一个小提琴:https : //www.db-fiddle.com/f/dvg6x1vBg6H5bDNp9VZxQa/4
我增加了3列id AS id1
,rownum
以及colname
。前两个附加列用于ORDER BY
外部查询。如果您不想看到其他列,只需SELECT Data_value FROM ...
在外部查询中键入即可。
谢谢这正是我需要的