如何从表中的两列获取最高值(SQL)

时间:2015-01-02 21:37:50

标签: android sql database sqlite android-sqlite

所以我有一个像这样有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是表中最大的周期数,第2周是周期2中最大的周数。

现在我使用查询

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

但我觉得这不对,因为我似乎没有得到正确的价值观。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

你想这样做吗?

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

您的查询将独立返回周期和周的最大值。

答案 1 :(得分:0)

我猜这是你想要实现的目标。

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