一尘不染

在SQL中,如何在表格内的字段上进行汇总

sql

抱歉,TITLE不够具体。我将尝试解释:我是SQL的新手。我在工作,并写了一个查询,该查询有9列,可从许多表中获取信息。第9列是机器类型的名称,第3列是代表一台机器工作一个月的时间的值。我需要添加第10列,该列将针对每种类型的计算机,该类型的最大值为3列。假设有5台XR类型的机器(表中的5行),其时间(第3列)为1,2,3,4,5(以小时为单位)。我需要在第10列中,计算机类型为XR的所有行的值都为5,因为这是该类型计算机的最大值。

我怎么做?

任何帮助将不胜感激!


阅读 184

收藏
2021-03-08

共1个答案

一尘不染

SQL ServerOracle并且PostgreSQL

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
2021-03-08