有表结构如下
Topics
{
TopicID int IDENTITY ,
CategoryID int ,
Title nvarchar(100)
}
如何查询CategoryID 列不重复的记录呢?也就是每个分类只提取一条内容。
Topics
{
TopicID int IDENTITY ,
CategoryID int ,
Title nvarchar(100)
}
如何查询CategoryID 列不重复的记录呢?也就是每个分类只提取一条内容。
select * from Topics where
TopicID in (
select max(TopicID) from Topics group by CategoryID )
From Topics
Where CategoryID Not In
(
--这里先找出所有CategoryID有重复的值
Select CategoryID From Topics Group By CategoryID Having Count(1) > 1
)
INNER JOIN
(
SELECT CategoryID
FROM Topics
GROUP BY CategoryID
HAVING COUNT(1)<2
) b
ON a.CategoryID=b.CategoryID