如何解决SQL查找多个条件的最后一个值
我有一张这样的桌子:
CREATE TABLE mytable
(
name varchar(255) NOT NULL,value varchar(255) NOT NULL,timestamp TIMESTAMP WITHOUT TIME ZONE NOT NULL,);
其中包含按名称、值和时间戳记的数据 - 显然 ;-)
我喜欢创建一个 sql 查询来获取最后一个值。
通过单个名称获取数据非常简单
select * from mytable where name = :name ORDER BY timestamp DESC LIMIT 1
但我喜欢查询姓名列表。 并获取每个名称的最后一个值。
有什么想法吗?
问候 奥利弗
P.S 使用 POSTGRESQL
解决方法
您可以将 DISTINCT ON (name)
子句与排序子句结合使用,例如
SELECT DISTINCT ON (name)
name,value,timestamp
FROM mytable
ORDER BY name,timestamp DESC
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。