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

查看:195
本文介绍了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这样的聚合函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆