-1

我有用户表如下:

Userid| Username |city| state

这里userid是主键并且有一个出价表

Userid|seller|iid|starttime|bidtime|bidprice

这里 userid,seller,iid 构成主键

我想编写一个 sql 查询,以便显示总体出价最多的人的用户 ID 和姓名。我写的查询如下:

select u.userid,u.uname from user1 u, bid b where u.userid=b.bidder and
b.bidder=(select max(c) from (select count(*) as c, bidder from bid group by bidder));

但在这种情况下,内部选择显示不满足给定条件的最大值。我需要一些帮助来解决这个问题

4

2 回答 2

0

这似乎是一种更简单的方法来实现这一点。

SELECT TOP 1 u.*
FROM User1 u
JOIN bid b ON (u.userid=b.bidder)
ORDER BY Count(b.*)
于 2013-02-24T07:42:25.237 回答
0
select userid, uname from user1 
where userid in 
(select bidder from bid group by bidder having count(bidder) = 
(select max(c) from (select count(*) as c, bidder from bid group by bidder)));
于 2013-02-24T22:39:02.477 回答