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)