0

ストアド プロシージャで作成した元のテーブルがあります。結果のテーブルは多くのクエリで使用されるため、車輪を再発明したくありません。

テーブルには 6 つの列があります。私がする必要があるのは、セットとして 4 つの列が一意であり、残りの列の 1 つがそのセットに基づいて最大値を見つけるこのテーブルのビューを作成することです。

例えば:

col 1     col2     col3      col4     col 5     col 6
------------------------------------------------------
123       US       EA.COM    Good     5/1/12    456A
124       US       US.COM    Good     5/1/12    457A
124       US       EA.COM    Good     5/1/12    457A
124       US       EA.COM    Good     5/15/12   457A

このセットを使用すると、3行が返されます

col 1     col2     col3      col4     col 5     col 6
------------------------------------------------------
123       US       EA.COM    Good     5/1/12    456A
124       US       US.COM    Good     5/1/12    457A
124       US       EA.COM    Good     5/15/12   457A

私が欲しいのは、列 1 ~ 4 の一意のセットと、列 1 ~ 5 のセットに相当する列 6 の最大列です。これが理にかなっていることを願っています。このレベルの SQL では、私はコンフォート ゾーンの外にいます。

一時テーブルを使用して、列 1 ~ 4 の個別の値に基づいて結合しようとしましたが、まだ正しい構文を思い付いていません。

どんな助けでも大歓迎です。

4

1 に答える 1

3

私が質問を正しく理解していれば、あなたは次のものを探していますGROUP BY

SELECT col1, col2, col3, col4, max(col5), col6
FROM yourtable
GROUP BY col1, col2, col3, col4, col6
于 2012-11-15T20:41:56.620 に答える