如何解决从多个相同的日期中选择一个值
我在表1中有2个表我在表2中有ID,日期时间和电源我有id_connection(与表1的连接),datetime_imported(何时导入此值)
表1:
id datetime power
1 2020-07-01 2.1
2 2020-07-01 0
3 2020-07-01 2.5
4 2020-07-02 1.6
5 2020-07-02 1.1
6 2020-07-02 0
表2:
id_connection datime_imported
1 2020-08-01
2 2020-08-02
3 2020-08-03
4 2020-08-04
5 2020-08-05
6 2020-08-06
所以我想每个日期时间获得1个值(幂),并且该日期时间必须最新导入。结果应该看起来
结果:
datetime power
2020-07-01 2.5
2020-07-02 0
解决方法
SELECT table2.datime_imported,table1.power
FROM table1
INNER JOIN table2
ON table1.id = table2.id_connection;
这假设table2
中的导入日期和power
中的table1
的导入日期都在更新时被覆盖。
我不确定它是否符合您的问题,但希望能对您有所帮助。
SELECT DISTINCT ON (datetime)
id,datetime,power,datetime_imported
FROM table1 A
INNER JOIN table2 B
ON A.id = B.id_connection
ORDER BY datetime ASC,datetime_imported DESC;
,
SELECT DISTINCT on (a.datetime) *
FROM A a,B b
WHERE a.id=b.id_connection
ORDER BY a.datetime,a.id DESC;
,
WITH a AS (
SELECT
t1.datetime,t1.power,row_number() over(partition BY a,datetime ORDER BY a.power DESC) rnk
FROM TABLE_1 t1
LEFT JOIN TABLE_2 t2
ON t1.id = t2.id_connection
)
SELECT * FROM a WHERE a.rnk = 1;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。