我有一个约 35.000.000 行的表(MySQL),我需要按 id 顺序检索所有数据。
表:数据
+--+-----+-----+
|id|field|value|
+--+-----+-----+
|1 | x | 10 |
+--+-----+-----+
|1 | y | 12 |
+--+-----+-----+
|2 | x | 24 |
+--+-----+-----+
|2 | y | 25 |
+--+-----+-----+
|3 | z | 1 |
+--+-----+-----+
|3 | a | 4 |
+--+-----+-----+
|3 | b | 7.1 |
+--+-----+-----+
我需要检索:
+--+--+----+
|10|12|NULL| <--- ID:1
+--+--+----+
|24|25|NULL| <--- ID:2
+--+--+----+
|1 | 4|7.1 | <--- ID:3
+--+--+----+
我的查询:
SELECT
(
SELECT
value
FROM
data
WHERE
EXISTS(
SELECT
1
FROM
members
WHERE
data.id = members.id
LIMIT 1
)
)
我的结果:
#1241 - Operand should contain 1 column(s)
知道如何做到这一点,只有 MySQL 和有效吗?