很抱歉标题不是那么具体。我会试着解释:
我是 SQL 的新手。我正在工作并编写了一个查询,该查询有 9 列,可以从许多表中获取信息。
第 9 列是机器类型的名称,第 3 列是表示机器在一个月内工作的时间的值。
我需要为每种类型的机器添加第 10 列,这种类型的最多第 3 列。
假设有 5 台 XR 类型的机器(表中的 5 行),时间(第 3 列)为 1、2、3、4、5(以小时为单位)。我需要在第 10 列中,机器类型为 XR 的所有行的值都为 5,因为它是此类机器的最大值。

我怎么做?

任何帮助将不胜感激!

最佳答案

SQL ServerOraclePostgreSQL 中:

SELECT  *, MAX(col3) OVER (PARTITION BY col9)
FROM    mytable

MySQL 中:
SELECT  mt.*, maxcol3
FROM    (
        SELECT  col9, MAX(col3) AS maxcol3
        FROM    mytable
        ) q
JOIN    mytable mt
ON      mt.col9 = q.col9

关于sql - 在 SQL 中,如何聚合表内的字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10412033/

10-11 05:21