在SQL中,如何聚合表内的字段

Dan*_*oot 3 sql oracle aggregate max

对不起TITLE并不那么具体.我将尝试解释:我是SQL的新手.我在工作并写了一个查询,其中有9列从许多表中获取信息.第9列是机器类型的名称,第3列是表示机器在一个月内工作的时间的值.我需要为每种类型的机器添加第10列,此类型的最大第3列.假设有5台XR型机器(表中5行),时间(第3列)为1,2,3,4,5(小时).我需要在第10列,所有机器类型为XR的行将具有值5,因为它是此类机器的最大值.

我怎么做?

任何帮助将非常感谢!!

Qua*_*noi 6

SQL Server,OraclePostgreSQL:

SELECT  *, MAX(col3) OVER (PARTITION BY col9)
FROM    mytable
Run Code Online (Sandbox Code Playgroud)

MySQL:

SELECT  mt.*, maxcol3
FROM    (
        SELECT  col9, MAX(col3) AS maxcol3
        FROM    mytable
        ) q
JOIN    mytable mt
ON      mt.col9 = q.col9
Run Code Online (Sandbox Code Playgroud)