我想了解如何过滤掉select
来自具有两个主键的 SQL 表,如下所示:
╔═══════════════════╦════════════════════╦════════════╗
║ First Primary Key ║ Second Primary Key ║ Data ║
╠═══════════════════╬════════════════════╬════════════╣
║ 1 ║ 1 ║ Bla,bla,bla║
║ 1 ║ 2 ║ Bla,bla,bla║
║ 1 ║ 3 ║ Bla,bla,bla║
║ 1 ║ 4 ║ Bla,bla,bla║
║ 2 ║ 5 ║ Bla,bla,bla║
║ 2 ║ 6 ║ Bla,bla,bla║
║ 2 ║ 7 ║ Bla,bla,bla║
║ 3 ║ 8 ║ Bla,bla,bla║
║ 4 ║ 9 ║ Bla,bla,bla║
║ 4 ║ 10 ║ Bla,bla,bla║
║ 4 ║ 11 ║ Bla,bla,bla║
║ 4 ║ 12 ║ Bla,bla,bla║
╚═══════════════════╩════════════════════╩════════════╝
我想要distinct
第一列并只取max(Second_Primary_Key)
从第二列开始。
我想要的结果是
╔═══════════════════╦════════════════════╦════════════╗
║ First_Primary_Key ║ Second_Primary_Key ║ Data ║
╠═══════════════════╬════════════════════╬════════════╣
║ 1 ║ 4 ║ Bla,bla,bla║
║ 2 ║ 7 ║ Bla,bla,bla║
║ 3 ║ 8 ║ Bla,bla,bla║
║ 4 ║ 12 ║ Bla,bla,bla║
╚═══════════════════╩════════════════════╩════════════╝
结构应该是这样的:
select * from foo
where (distinct First_Primary_Key) and max(Second_Primary_Key)