我正在使用数据库来存储选举结果,其中包括 id、candidate、post_time 和 result 列。结果在“计票”期间存入数据库。当有新更新可用时,将插入新条目。
在此数据库中,我想创建一个表,其中包含每个候选人(GROUP BY
候选人)的最新结果(MAX post_time
),并按结果排序(ORDER BY
结果)。
如何将其转换为有效的 SQL 语句?
(我已尝试 mysql order and groupby 但没有成功)
我已经尝试过:
SELECT *, MAX(time_post)
FROM [database]
GROUP BY candidate
HAVING MAX(time_post) = time_post
ORDER BY result
最佳答案
假设您没有同时为每个候选人提供多个结果,则下一步应该有效:
select r.candiate, r.result
from results r
inner join (
select candidate, max(post_time) as ptime
from results
group by candidate
) r2 on r2.candiate=r.candidate and r2.ptime=r.post_time
order by r.result
关于php - SQL 排序依据、分组依据、具有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9585719/