如何从 table 中的两列中获取最大值 (SQL)

How to get highest values from two columns in a table (SQL)

所以我有一个 table,它有 n 行,如下所示:

.ID.|.Cycle.|.Week.|..Date...|.Type. 

.1..|...1...|..1...|.12-12-12|.a.

.2..|...1...|..2...|.12-12-12|.a. 

.3..|...1...|..3...|.12-12-12|.a.

.4..|...1...|..4...|.12-12-12|.a.

.5..|...2...|..1...|.12-12-12|.a.

.6..|...2...|..2...|.12-12-12|.a.

.7..|...2...|..2...|.12-12-12|.some_value.

所以在这里我想找回周期 2,类型为 "some_value" 的第 2 周,因为周期 2 是 table 中最大的周期数,而第 2 周是最大的周数在周期 2.

现在我使用查询

SELECT cycle=MAX(cycle),week=MAX(week)
FROM table 
WHERE TYPE=some_value

但我觉得这不对,因为我似乎没有得到正确的值。感谢任何帮助。

您要这样做吗?

select cycle, week
from table
where type = somevalue
order by cycle desc
limit 1;

您的查询正在分别返回周期和周的最大值。

我想这就是你想要达到的目标。

SELECT week,
       cycle
FROM   table
WHERE  cycle = (SELECT Max(cycle)
                FROM   table
                WHERE  TYPE = some_value)
       AND TYPE = some_value
ORDER  BY week DESC 
limit 1