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)