日期:2014-05-17  浏览次数:20499 次

sql server 数据库查询
查询前 查询后
NAME AGE ADRESS NAME AGE ADRESS
小明 27 大连 小明 27 大连
小张 28 新疆 小张 28 新疆
李东 27 新疆
王浩 28 大连

请参考上表,有两个表分别是查询前和查询后的表(这里假设查询前表为table1,查询后的表为table2)。
想要实现的是:查询数据返回原数据表的所有字段,限制条件是某一列重复的行只返回第一行。如上表所示,返回所有字段,限制条件为ADRSS列重复的行只返回第一行。
实现该功能的具体SQL语句是什么了?谢谢!

------解决方案--------------------
select field1,field2,field3,field4
from (
select *,row_number() over(partition by field1,field2 order by getdate())rn
from table1
)a
where a.rn=1