Mysql 如何为列获取具有最大值的行
这个MySQL查询返回3行,但我只想选择Mysql 如何为列获取具有最大值的行,mysql,Mysql,这个MySQL查询返回3行,但我只想选择total_voces=max(total_voces)的那一行请告诉我该怎么做 SELECT assembly, seat_code, CONCAT(first_name, ' ', last_name), total_votes, party_id FROM (polling JOIN seat USING (seat_id) JOIN candidate USING (
total_voces=max(total_voces)的那一行代码>请告诉我该怎么做
SELECT
assembly,
seat_code,
CONCAT(first_name, ' ', last_name),
total_votes,
party_id
FROM (polling JOIN seat USING (seat_id) JOIN candidate USING (candidate_id))
WHERE seat_id = 1;
替换来自的查询
SELECT
assembly,
seat_code,
CONCAT(first_name,' ',last_name),
total_votes,
party_id
FROM (polling JOIN seat USING (seat_id) JOIN candidate USING (candidate_id))
WHERE seat_id=1;
到
选择
装配
座位号,
CONCAT(名字、姓氏),
总票数,
派对id
FROM(使用(席位id)轮询加入席位,使用(候选人id)加入候选人)
其中席位id=1,总票数=(从中选择最大值(总票数));
您可以使用MAX
聚合:
SELECT
assembly,
seat_code,
CONCAT(first_name,' ',last_name)name,
MAX(total_votes)total_votes,
party_id
FROM polling JOIN seat USING (seat_id) JOIN candidate USING (candidate_id)
WHERE seat_id=1;
注意:无需在连接部分中插入括号
这将不返回行尝试将MAX
聚合放入total\u投票
。与MAX(total_voces)
类似。同时删除HAVING
子句。我已经编辑了我的答案。如果你愿意,考虑一下这个简单的两步过程:1。如果您还没有这样做,请提供适当的DDL(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果尚未这样做,请提供与步骤1中提供的信息相对应的所需结果集。
SELECT
assembly,
seat_code,
CONCAT(first_name,' ',last_name)name,
MAX(total_votes)total_votes,
party_id
FROM polling JOIN seat USING (seat_id) JOIN candidate USING (candidate_id)
WHERE seat_id=1;