有表结构如下
Topics
{
  TopicID int IDENTITY ,
  CategoryID int ,
  Title nvarchar(100)
}
如何查询CategoryID 列不重复的记录呢?也就是每个分类只提取一条内容。

解决方案 »

  1.   

    取分类中数据方法是什么??下面是以最大值为例
    select * from Topics where 
    TopicID in (
    select max(TopicID) from Topics group by CategoryID )
      

  2.   

    Select * 
    From Topics
    Where CategoryID Not In
    (
     --这里先找出所有CategoryID有重复的值
     Select CategoryID From Topics Group By CategoryID Having Count(1) > 1
    )
      

  3.   

    SELECT a.* FROM Topics
    INNER JOIN
    (
    SELECT CategoryID
    FROM Topics
    GROUP BY CategoryID
    HAVING COUNT(1)<2
    ) b
    ON a.CategoryID=b.CategoryID