Voters(name,vote, score,time)
name是主鍵,投票人,選民投票支持的人的ID。 1人可以多次投票。
我必須找到投票人數最多的人的姓名。 {Maximum Count(vote)}
不使用max命令。
Voters(name,vote, score,time)
name是主鍵,投票人,選民投票支持的人的ID。 1人可以多次投票。
我必須找到投票人數最多的人的姓名。 {Maximum Count(vote)}
不使用max命令。
如果您可以使用count()
,然後嘗試按順序排列結果。在MySQL中,您的查詢可能看起來像
SELECT name, COUNT(vote) AS total_votes
FROM Voters
GROUP BY name
ORDER BY total_votes DESC
LIMIT 1
這會返回投票數最多的人和他的投票數。
嘗試以下
select count(*) from table where vote=(select max(count(*)) from table) group by vote
希望這有助於你。
您可以使用關係代數的概念。 limit 1
當多個用戶擁有相同的投票數時不會給出好的結果。
PostgreSQL的:
with t as (select name, count(*) c from voters group by name)
SELECT t.* from t
except
SELECT t.* from t JOIN t t2 ON t2.c > t.c
和樣本數據來證明這個工程:
create table voters (name int,vote int);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (1,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (2,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (3,1);
insert into voters values (4,1);
insert into voters values (4,1);
insert into voters values (4,1);
insert into voters values (4,1);
insert into voters values (4,1);
insert into voters values (5,1);
insert into voters values (5,1);
insert into voters values (5,1);
insert into voters values (5,1);
我的解決方案是基於這個問題的答案:How can I find MAX with relational algebra?
有對這個概念也是很好的解釋在另一個答案Aggregate Relational Algebra (Maximum)
'ORDER BY'和'TOP(1)'/'LIMIT 1'? – MarcinJuraszek 2013-04-09 08:28:57
你正在使用什麼RDBMS ??????? – 2013-04-09 08:33:57
@Guybrush如果您的問題已被解答,請標記接受的答案。 – Mifeet 2013-06-01 12:23:48