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

Sql Server : How to use an aggregate function like MAX in a WHERE clause(Sql Server:如何在 WHERE 子句中使用像 MAX 这样的聚合函数)

本文介绍了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.

这篇关于Sql Server:如何在 WHERE 子句中使用像 MAX 这样的聚合函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

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

基础教程推荐