SQL创建具有最大值的表

SQL创建具有最大值的表,sql,Sql,您好,我有一个表,其中我有与一个ID关联的各种值,并希望创建一个表,其中每个ID只有一行,并且该行具有最大值。例如,如果输入为: ID VALUE ----------- A 10 A 20 B 30 B 40 那么输出是: ID VALUE ----------- A 20 B 40 您可以使用: 或创建一个视图: CREATE VIEW view_name AS SELECT ID, MAX(VALUE) AS VALUE FRO

您好,我有一个表,其中我有与一个ID关联的各种值,并希望创建一个表,其中每个ID只有一行,并且该行具有最大值。例如,如果输入为:

ID   VALUE
-----------
A     10
A     20
B     30
B     40
那么输出是:

ID   VALUE
----------- 
A     20
B     40
您可以使用:

或创建一个视图:

CREATE VIEW view_name 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;

提到但未包括CTA?@JonScott将表创建为语句可能@JonScott像我一样混淆了Oracle CTA和Sql Server CTE。@DanBracuk可能你是对的。TIL:CTA已提及但未包括?@JonScott将表创建为语句可能@JonScott像我一样混淆了Oracle CTA和Sql Server CTE。@DanBracuk可能你是对的。TIL:您意识到这需要不断更新。您意识到这需要不断更新。
CREATE TABLE IF NOT EXISTS qtab1
   AS
   SELECT id, max(value)
      FROM tab1
    group by id;