有人可以帮我解决这个问题吗?
表结构如下:
id |Attribute | value
-------------------
1 |name | user1
2 | id | 100
3 |name | user2
4 | id | 101
5 |name | user1
6 | id | 103
我想要这样的输出:
name | id
------------
user1 | 100
user2 | 102
user3 | 103
最佳答案
假设 id
和 name
记录始终交错:
SELECT mn.value, mi.value
FROM mytable mn
JOIN mytable mi
ON mi.id =
(
SELECT id
FROM mytable mii
WHERE mii.attribute = 'id'
AND mii.id > mn.id
ORDER BY
mii.id
LIMIT 1
)
WHERE mn.attribute = 'name'
我什至不敢问谁的主意是设计这样的 table 。
关于Mysql复杂查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4154811/