の選択「基は、」私は、このテーブルがあるとします。同じ列の値を持つ行(1以上)
id | column1 | column2
--------+---------+----------
1 | 3 | 1
2 | 5 | 1
3 | 6 | 2
4 | 5 | 2
5 | 1 | 3
6 | 7 | 3
7 | 7 | 3
8 | 2 | 3
9 | 5 | 3
10 | 7 | 4
(COLUMN2は便宜上注文され、行は実際のテーブルにこの順番ではありません)
列2の同じ値の行の「グループ」を選択するにはどうすればよいですか?必ずしも1を超える値を返してはいけません。ランダムでも問題ありませんが、別の列でも並べ替えることができます。
私は自分自身を明らかにしておりません場合は、これは私がそれを返すようにしたいものです。
id | column1 | column2
--------+---------+----------
1 | 3 | 1
2 | 5 | 1
または
id | column1 | column2
--------+---------+----------
3 | 6 | 2
4 | 5 | 2
または
id | column1 | column2
--------+---------+----------
10 | 7 | 4
か...(など)
だからまずr列2の値1を持つすべての行を削除して削除すると、列2の値2のすべての行が返されます。
簡潔にするためにcolumn2は整数です。特定の値を指定する必要はなく、column2は任意の値を持つことができます。私がこの仕事をするために考えることができる唯一の方法は、2つのクエリです。
最初のSELECT column2 FROM test_table GROUP BY column2
は、それぞれのcolumn2値とdoを各column2値に対して得るために最初のものです。
同じ結果を達成するためのより効率的な/短い/単一のクエリ方法がありますか?
を持つレコードを検索します残念ながら実際のテーブルでは、column2は数字ではありません。私はおそらくそれを言及すべきであり、別の列(これも数字ではない)で並べ替えることを望んでいたが、その例を単純化したいと思っていて、それが重要ではないと思った。申し訳ありませんが、質問を編集します。何とか注文して分を少し変更することはできますか? – alexk745
Nevermind、私はmin(column2 i)をmin(any-column-i-want)に置き換えることができることに気付きました。あなたの時間をありがとう、私は答えを受け入れます! – alexk745