0

私はそのようなテーブルを持っています。

id1     id2
1       1
2       1
1       2
3       2
1       3
4       3
1       4
5       4

GROUPによって行が取得されるように選択したいのですが、テーブル内の対応する行のid2両方の値を保持します。id1

だから私はそのような結果セットを得るでしょう。

id1     id1     id2
1       2       1
1       3       2
1       4       3
1       5       4

私は高度なデータベースクエリで半分も得意ではありませんでした-これを達成するにはどうすればよいですか?

4

3 に答える 3

2

id1の異なる値ごとに正確に 2 行 ( の 2 つの値) があるid2場合、これを使用できます。

SELECT MIN(id1) AS id1_a
     , MAX(id1) AS id1_b
     , id2
FROM tableX
GROUP BY id2 ;
于 2012-06-18T10:14:00.290 に答える
1

あなたは使用してみることができます

SELECT id2, GROUP_CONCAT(id1) FROM your_table
GROUP BY id2

このようにして、id2値ごとに、すべてのid1値がコンマで区切られた列ができます。GROUP_CONCAT構文
を見てください。

于 2012-06-18T10:02:10.603 に答える
1

これは完璧な解決策ではないかもしれませんが、あなたの場合はうまくいくはずです。これは私が使ったトリックです。

id1, (sum(id1) - id1 ) を nID1, id2 として、id2 による table_name グループから選択します

それがうまくいくことを願っています。ウジュワル

于 2012-06-18T10:22:26.760 に答える