【发布时间】:2016-03-02 18:10:05
【问题描述】:
我对如何向数据库发送查询表示怀疑,该数据库为我提供了一组记录,这些记录可能仅在该组的一个列中包含某个值的重复项,并且我需要这些记录来提供整个集合但每个重复记录中只有一个记录。 DISTINCT 不适合我,因为整个记录可能会有所不同。例如,当我询问结果集时,它会给出以下内容:
╔═════════════════╦══════════════╦════════════╗
║ ContratctNumber ║ BusinessType ║ PersonType ║
╠═════════════════╬══════════════╬════════════╣
║ 12345 ║ 1 ║ 1 ║
║ 23455 ║ 3 ║ 1 ║
║ 275479 ║ 1 ║ 2 ║
║ 275479 ║ 2 ║ 1 ║
║ 275479 ║ 3 ║ 2 ║
║ 234576 ║ 2 ║ 1 ║
║ 78656 ║ 1 ║ 1 ║
║ 5678 ║ 3 ║ 1 ║
║ 5678 ║ 2 ║ 1 ║
╚═════════════════╩══════════════╩════════════╝
我需要的结果如下:
╔═════════════════╦══════════════╦════════════╗
║ ContratctNumber ║ BusinessType ║ PersonType ║
╠═════════════════╬══════════════╬════════════╣
║ 12345 ║ 1 ║ 1 ║
║ 23455 ║ 3 ║ 1 ║
║ 275479 ║ 1 ║ 2 ║
║ 234576 ║ 2 ║ 1 ║
║ 78656 ║ 1 ║ 1 ║
║ 5678 ║ 3 ║ 1 ║
╚═════════════════╩══════════════╩════════════╝
如你所见,它给了我所有的集合,但是对于具有相同 ContractNumber 的重复记录,它只给出出现在表上的第一条记录。
感谢您对此提供的帮助,因为我不知道如何完成此操作。
谢谢!
【问题讨论】:
-
如何定义表中的first?您有可以使用的日期列吗?
标签: sql sql-server duplicates unique recordset