sql 查询查询查询查询查询,100%结贴,该如何解决
sql 查询查询查询查询查询,100%结贴


如上图两表,,怎么查出AuctionSell 表中CreateUid(也就是UserTb中UserId)以“66000”开头的每个不同用户前三条数据。。例如UserTb中UserId以“66000”开头的有 660007和660008两位,就查出 AuctionSell 表中CreateUid=660007 的Top3 加上CreateUid=660008 的Top3 ,。。 在线等。
------解决方案--------------------
忘记了加条件
select *
from (select *,rn=ROW_NUMBER() OVER(partition by UserId order by asID) from AuctionSell where cast(UserId as varchar) LIKE '66000%')t
where rn<=3
------解决方案--------------------
如上图两表,,怎么查出AuctionSell 表中CreateUid(也就是UserTb中UserId)以“66000”开头的每个不同用户前三条数据。。例如UserTb中UserId以“66000”开头的有 660007和660008两位,就查出 AuctionSell 表中CreateUid=660007 的Top3 加上CreateUid=660008 的Top3 ,。。 在线等。
SQL
行业数据
------解决方案--------------------
忘记了加条件
select *
from (select *,rn=ROW_NUMBER() OVER(partition by UserId order by asID) from AuctionSell where cast(UserId as varchar) LIKE '66000%')t
where rn<=3
------解决方案--------------------
SELECT B.*
FROM dbo.userTb A
INNER JOIN dbo.AuctionShell b
ON A.UserId = b.UserID
WHERE a.Userid LIKE '66000%' AND
(
SELECT COUNT(1)
FROM dbo.AcuctionShell n
WHERE n.UserId = b.UserID
AND n.ASID <= b.ASID
) <= 3