sql 查询重复记录值取一条

时间:2022-07-29 15:03:31

SELECT
*FROM JBL_WebLog
WHERE JBL_WebLog_PID IN (
--根据userName分类获取数据最小ID列表
SELECT MIN(JBL_WebLog_PID)
FROM JBL_WebLog
GROUP BY UserName );

 上面是数据库自增长的ID,但是有很多重复的对象数据,现在只需要看每个状态的一条数据

比如账户aasaas登录很多次,但是现在我只想知道他是不是登陆过,所以只要取出来多次登录中的一次就行了

sql 查询重复记录值取一条

 

下面是  查询记录中只有一条的数据,多余一条的筛选掉

SELECT  *
FROM JBL_WebLog
WHERE CreateDate IN ( SELECT CreateDate
FROM JBL_WebLog
GROUP BY CreateDate
HAVING COUNT(CreateDate) = 1 );

 

下面是只查询多余一条的数据,即所有重复的记录都会查询到,只有一条的数据被筛选掉

SELECT  *
FROM JBL_WebLog
WHERE CreateDate IN ( SELECT CreateDate
FROM JBL_WebLog
GROUP BY CreateDate
HAVING COUNT(CreateDate) > 1 );

 取出ID不一定连续的第21-30条数据:

         SELECT TOP 10 * FROM  dbo.JBL_WebLog WHERE JBL_WebLog_PID > 
(
SELECT MAX(a.JBL_WebLog_PID) FROM(SELECT TOP 20 * FROM dbo.JBL_WebLog) AS a)