表 - col_pk、col1、col2、col3、col4、col_date_updated
此表的某些行的 col2 和 col3 列值重复。 我想保留那些 col_date_updated 为最新(最大)的行。
例如:
col_pk, col1, col2, col3, col4, col_date_updated
1, A, hello, now, 200.00, 2017-12-12 15:09:44.437546
2, B, hello, now, 490.00, 2017-12-12 15:09:42.437065
3, C, hi, now, 300.00, 2017-12-12 15:09:41.436617
4, D, hello, now, 250.00, 2017-12-12 15:09:45.436617
5, E, hi, now, 250.00, 2017-12-12 10:09:41.436617
预期结果:
col_pk, col1, col2, col3, col4, col_date_updated
3, C, hi, now, 300.00, 2017-12-12 15:09:41.436617
4, D, hello, now, 250.00, 2017-12-12 15:09:45.436617
最佳答案
检查这个。
SELECT DISTINCT ON (col2, col3) t.*
FROM table t
ORDER BY col_date_updated DESC
在 col2 和 col3 上应用 distinct 因为你希望它们是唯一的并且保持最新的按 desc 排序
关于sql - Pgsql删除某些列(不是全部)重复的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48058652/