简体   繁体   English

sql查询从表中选择仅最大值的计数

[英]sql query to select count of only max value from table

partyname    state        constituency     candidatename   district    votes

BJP       Maharashtra   Nagpur-East     Nitin Gadkari   Nagpur       1200
AAP       Maharashtra   Nagpur-East     Arvind Kejriwal Nagpur       750
BJP       Maharashtra   Nagpur-West     Vicky           Nagpur       4800
AAP       Maharashtra   Nagpur-West     Lucky           Nagpur       3500
BJP       Maharashtra   Nagpur-North    Rakesh          Nagpur       100
AAP       Maharashtra   Nagpur-North    Ravan          Nagpur       1500

below is my expected output for above table 以下是我对上表的预期输出

query select only max vlue from votes group by partyname and constituency and display like below output. 查询仅从投票组中按参与方名称和选区选择最大vlue,并显示如下输出。

partyname       Count

BJP          2

AAP          1

bcoz bjp leads from nagpur -east and nagpur west bcoz bjp来自那格浦尔-东部和那格浦尔西部

so it display count 2 所以它显示计数2

and aap leads from nagpur - north then it display only 1 count. 而那格浦尔(ag)从那格浦尔(ag)引出-北,那么它仅显示1个计数。

plz suggest me query...... 请给我查询...

You can try like this: 您可以这样尝试:

select max(votes) from tableName group by constituency

Sql fiddle : http://sqlfiddle.com/#!2/ceb017/1 SQL提琴手: http ://sqlfiddle.com/#!2/ceb017/1

In MySQL, you need one join to get the maximum number of votes, and then another to get the party name and count of wins: 在MySQL中,您需要一个联接以获得最大的投票数,然后另一个联接以获取聚会名称和获胜次数:

select c.partyname, count(*) as numwins
from constituency c join
     (select constituency, max(votes) as maxvotes
      from constituency c
      group by constituency
     ) cm
     on c.constituency = cm.constituency and c.votes = cm.votes
group by c.partyname;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM