php - SQL 排序依据、分组依据、具有

标签 php sql group-by sql-order-by

我正在使用数据库来存储选举结果,其中包括 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/

相关文章:

mysql - 获取最大日期的计数 [MYSQL]

python - 如何从 groupby 和 size 获取归一化值

php - 使用 PHP 将数组发送到 MySql

sql - 使用 rownum 选择表格的第二行

php - 选择带有 php 和 mysql 的 Html

在 Varchar 列上使用 IsNumeric 出现 SQL 语法错误

postgresql - SUM 不同 CASE 条件下的相同字段

Mysql 在两个表中找到公共(public)字段的匹配行并将字段合并为一行

php - 带索引的 MySQL 查询优化器

php - 如何在 Bootstrap 模式(或对话框)和 codeigniter 内查询数据库