2017-10-02 4 views
1

こんにちは私はIDに関連するさまざまな値を持つテーブルを持っており、IDごとに1つの行しかなく、その行に最大値を持つテーブルを作成したいとします。入力された場合例:SQL最大値のテーブルを作成する

ID VALUE 
----------- 
A  10 
A  20 
B  30 
B  40 

、出力は次のようになります。

ID VALUE 
----------- 
A  20 
B  40 
+0

これは継続的な更新が必要であることを認識しています。 –

答えて

5

あなたはCTAsを使用することができます。

-- this will require refreshing and won't work on every RDBMS 
CREATE TABLE table_name2 AS 
SELECT ID, MAX(VALUE) AS VALUE 
FROM table_name 
GROUP BY ID; 

またはビューを作成します。

CREATE VIEW view_name AS 
SELECT ID, MAX(VALUE) AS VALUE 
FROM table_name 
GROUP BY ID; 
+0

CTAは記載されていますが含まれていませんか? –

+1

@JonScott 'CREATE TABLE AS文 ' – lad2025

+2

おそらく、@ JonScottはOracle CTAとSql Server CTEを混同していたかもしれません。 –

0
CREATE TABLE IF NOT EXISTS qtab1 
    AS 
    SELECT id, max(value) 
     FROM tab1 
    group by id; 
関連する問題