Sql Server:如何在 WHERE 子句中使用像 MAX 这样的聚合函数

我想获得此记录的最大值.请帮帮我:

I want get the maximum value for this record. Please help me:

SELECT rest.field1 
    FROM mastertable AS m
    INNER JOIN  (
        SELECT t1.field1 field1, 
               t2.field2
            FROM table1 AS T1 
            INNER JOIN table2 AS t2 ON t2.field = t1.field 
            WHERE t1.field3=MAX(t1.field3)
        --                  ^^^^^^^^^^^^^^  Help me here.
    ) AS rest ON rest.field1 = m.field

推荐答案

您可以使用子查询...

You could use a sub query...

WHERE t1.field3 = (SELECT MAX(st1.field3) FROM table1 AS st1)

但我实际上会将它从 where 子句移到 join 语句中,作为 ON 子句的 AND.

But I would actually move this out of the where clause and into the join statement, as an AND for the ON clause.

相关文章