1

このようなデータを取得する方法はありますか (最初の行は列ヘッダーです):

data   no    answer
data1  1     X1
data1  2     X2
data1  3     X3
data1  5     X5
data2  1     Y1
data2  2     Y2
data2  4     Y4

このような形式で (ここでも、最初の行は列ヘッダーです):

data   no1   no2   no3   no4   no5
data1  X1    X2    X3    null  X5
data2  Y1    Y2    null  Y4    null

(MySQL で) SQL クエリを使用していますか?

4

1 に答える 1

1

残念ながら、MySQLにはPIVOT機能がありません。したがって、これを別の方法で実行する必要があります。

CASEステートメントの使用:

select data,
  MIN(CASE WHEN no = 1 THEN answer END) as no1,
  MIN(CASE WHEN no = 2 THEN answer END) as no2,
  MIN(CASE WHEN no = 3 THEN answer END) as no3,
  MIN(CASE WHEN no = 4 THEN answer END) as no4,
  MIN(CASE WHEN no = 5 THEN answer END) as no5
from test
group by data

SQL FiddlewithDemoを参照してください

于 2012-08-01T01:11:00.387 に答える