SQLServer2005を使用しています。
悪いテーブルのデザインについては、この投稿の終わりを参照してください。
2つの列があります。2列目の順番で1列目でグループ化したいと思います。Microsoftのドキュメントには、GROUP BY句は順序を考慮しないと記載されていますが、これを強制するにはどうすればよいですか?
これが私の疑似クエリです:
SELECT col_1,
MIN(col_2),
MAX(col_2)
FROM someTable
GROUP BY col_1 (*** WITH RESPECT TO ORDER OF col_2***)
次の表でクエリを実行した場合:
Col_1 Col_2
A 1
A 2
A 3
B 4
C 5
C 6
B 7
A 9
次の結果が得られるはずです。
Col_1 Min Max
A 1 3
B 4 4
C 5 6
B 7 7
A 9 9
重要なのは、Aの4つのレコードすべてを結果セットにまとめることができないということです。テーブル/サブクエリがクエリされると、col_2で並べ替えられ、col_1の新しいインスタンスごとに新しいグループ化が行われます。おかげで、私はこれについて何も見つけることができませんでした。
テーブルのデザインは何もできません。これは、プロプライエタリソフトウェアで使用される外部ベンダーによって作成されたテーブルでした。繰り返しますが、テーブルのデザインについては何もできません!!!!