~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のみで効率的ですか?