sql 查询重复记录值取一条



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

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

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

 

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

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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM