mysql查询未返回任何行
我使用此查询来获取总投票数最大的行,但此查询不返回任何行,实际上它应该返回1行。请帮忙mysql查询未返回任何行,mysql,Mysql,我使用此查询来获取总投票数最大的行,但此查询不返回任何行,实际上它应该返回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 HAVING total_votes = MAX(
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
HAVING total_votes = MAX(total_votes);
您可以使用MAX aggregate并删除HAVING子句。见下文:
SELECT * FROM
(
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
) AS A
HAVING total_votes=(SELECT MAX(total_votes) FROM polling )
使用此子句请显示示例数据。但为什么我们不能在此处使用HAVING子句?HAVING子句类似于WHERE子句,但仅适用于整个组,而WHERE子句适用于单个行。查询可以同时包含WHERE子句和HAVING子句。WHERE子句首先应用于表中的各个行。仅对满足WHERE子句中条件的行进行分组。HAVING子句随后应用于结果集中的行。只有满足HAVING条件的组才会显示在查询输出中
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 and total_votes=(select max(total_votes) from <table name>);