我有下表:
ID SORT_ID MY_DATE USER_ID
10 1 01/01/2023 1
11 2 01/09/2023 1
13 3 15/08/2023 1
14 4 10/12/2023 1
我想选择(对于USER_ID = 1
)具有最低SORT_ID
的行的日期,即具有SORT_ID = 1
和ID = 10
的行
我尝试了这个查询,但它返回了最高的(行与:SORT_ID = 4 and ID = 14
)
SELECT DISTINCT ON (USER_ID)
MY_DATE
FROM MY_TABLE where USER_ID = 1
ORDER BY USER_ID;
你有什么办法来调整我的选择,以获得最低行(USER_ID = 1 AND SORT_ID = 1 AND ID = 10
)动态
2条答案
按热度按时间68bkxrlz1#
您只需要更改查询中的order by子句。
cnjp1d6j2#
您可以简单地:
或者使用
group by
和min()
:首先获取用户的最小SORT_ID:
然后将其与表连接以获得预期结果:
Demo here