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