简体   繁体   English

如何使用 MAX 在 HAVING 子句中使用两列

[英]How to use two columns in HAVING clause using MAX

Is it possible to use two parameters in HAVING clause using MAX?是否可以使用 MAX 在 HAVING 子句中使用两个参数? Or I need to create some variable?或者我需要创建一些变量? The problem is that I have two columns: date_id (int) and period_time (time).问题是我有两列:date_id (int) 和 period_time (time)。 The task is to filter the table using MAX value in these two columns任务是使用这两列中的 MAX 值过滤表

When I had one parametr, I used code当我有一个参数时,我使用代码

SELECT PlotsID date_id period_time fieldID FieldName SELECT PlotsID date_id period_time fieldID FieldName

FROM data_base来自数据库

WHERE EXISTS哪里存在
(SELECT 1 AS Expr1 FROM data_base AS t2 WHERE PlotsID=data_base.PlotsID (SELECT 1 AS Expr1 FROM data_base AS t2 WHERE PlotsID=data_base.PlotsID
GROUP BY PlotsID HAVING (data_base.date_id =MAX(date_id) )) GROUP BY PlotsID HAVING (data_base.date_id =MAX(date_id) ))

But I understand, that I need to group and filter this very big table (over 1 mln lines of data) with both date_id and period_time但我明白,我需要用 date_id 和 period_time 对这个非常大的表(超过 100 万行数据)进行分组和过滤

If the table is not too large you can simply use a subquery in the WHERE clause(test1 is an example table):如果表不是太大,您可以简单地在 WHERE 子句中使用子查询(test1 是一个示例表):

Select *
from test1
where period_time= ( Select max(period_time) from test1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM