Win*_*Too 13 sql postgresql greatest-n-per-group
通过在PG 9.1上使用libpq,我试图编写查询以从具有最高索引'my_id'的行获取值:
SELECT my_id, col2, col3
FROM mytable
WHERE my_id = MAX(my_id)
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
错误:WHERE子句中不允许聚合...
如何正确编写这样的查询?
Gor*_*onM 30
如果您的目标是获取具有最高my_id值的行,则以下查询应实现相同的目标.
SELECT my_id, col2, col3
FROM mytable
ORDER BY my_id DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
jue*_*n d 10
只需订购my_id并只带第一条记录limit 1
SELECT my_id, col2, col3
FROM mytable
order by my_id desc
limit 1
Run Code Online (Sandbox Code Playgroud)
另一种但性能较差的方式是
SELECT my_id, col2, col3
FROM mytable
where my_id = (select max(my_id) from mytable)
Run Code Online (Sandbox Code Playgroud)
子查询可以帮助您
SELECT my_id, col2, col3 FROM mytable WHERE my_id = (select MAX(my_id) FROM mytable)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38196 次 |
| 最近记录: |