-5

このようなクエリから結果を取得しています

user_id
108
183
172
129
158
178
117
104

そして私はこの形式の結果が欲しい

m1    m2   m3   m4   m5   m6   m7   m8
108  183  172  129  158  178  117   104

誰かが私を助けることができます

4

2 に答える 2

3

以下のリンクを試してください: http ://www.artfulsoftware.com/infotree/queries.php#78

于 2012-04-09T08:47:24.957 に答える
1

GROUP_CONCATを使用して、同様の結果セットを取得できます。

SELECT GROUP_CONCAT( user_id ) FROM table GROUP BY user_id

それ以外の場合、結果セットの各行に新しい列を作成する場合は、CASEを使用できますが、値または値の範囲をハードコーディングする必要があります。

SELECT CASE WHEN user_id = 108 THEN user_id ELSE 0 END AS m1, CASE WHEN user_id = 183 THEN user_id ELSE 0 END AS m2, ...

または範囲別:

SELECT CASE WHEN user_id > 100  AND user_id < 150 THEN GROUP_CONCAT(user_id) ELSE 0 END AS m1, CASE WHEN user_id > 150 AND user_id < 200 THEN GROUP_CONCAT(user_id) ELSE 0 END AS m2, ...
于 2012-04-09T08:44:24.790 に答える