我的查询:
SELECT sites.siteName, sites.siteIP, history.date
FROM sites INNER JOIN
history ON sites.siteName = history.siteName
ORDER BY siteName,date
输出的第一部分:
如何删除
siteName
中的重复项柱子?我只想留下基于 date
的更新的柱子。在上面的示例输出中,我需要第 1、3、6、10 行
最佳答案
这就是窗口函数row_number()
的地方派上用场:
SELECT s.siteName, s.siteIP, h.date
FROM sites s INNER JOIN
(select h.*, row_number() over (partition by siteName order by date desc) as seqnum
from history h
) h
ON s.siteName = h.siteName and seqnum = 1
ORDER BY s.siteName, h.date
关于sql - 仅根据表的一列消除重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17507887/