日期:2014-05-19  浏览次数:20461 次

SQL不重复一个列的选择前N条记录
举例
id   c   vid
=============
1   abc   2
2   hug   2
3   uuu   4
4   iji   8
..   ...   ...


SELECT   TOP   10   *   FROM   [   表   ]   ORDER   BY   [id]   DESC

现在选择的时候,不想再选择出来的记录中存在相同的vid,即没有重复的vid,应该怎么写?

------解决方案--------------------
select a.* from [ 表 ] as a
inner join (select min(id) as id from [ 表 ] group by vid ) as b on a.id=b.id
ORDER BY a.id DESC

此类问题到数据库论坛上去问更好。