php - SQL 查询中的 DISTINCT 日期时间

标签 php mysql sql datetime

我正在绘制来自大型数据库(超过 15 万行)的数据图表,一些数据点具有相同的时间戳和不同的价格值。

例如:

time  => 1502050000
price => 1

time  => 1502050000 // identical timestamp
price => 1.1

在 SQL 查询中,我想忽略重复的时间戳。我发现 DISTINCT 可能会完成这项工作,但我坚持将其应用于数据库中的日期时间字段。这是我的工作 SQL 查询,它会提取重复的时间戳。

SELECT time, price FROM price_table WHERE time >= '" . $data_from . "' ORDER BY time ASC

我的目标是只获取唯一的时间戳,避免查询重复。

最佳答案

您可以使用聚合:

SELECT time, MIN(price) as price
FROM price_table
WHERE time >= '" . $data_from . "'
GROUP BY time
ORDER BY time ASC;

当然,这引出了一个问题,即当存在重复项时,您想要什么 price

关于php - SQL 查询中的 DISTINCT 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45635320/

相关文章:

php - PHP:检查mysql中是否存在行

php - 如何找到与模式 7 的 MySQL WEEK 函数等效的 PHP?

SQL Group by 为任何返回 bool 值

sql - 检查重复记录 VS try/catch 唯一键约束

asp.net - 显示错误填充 : SelectCommand. 连接属性尚未初始化

php - Laravel - 模型 ID 保护

php - jQuery 自动建议数组样式

php - Apache htaccess SetEnv : how concatenate environment variable in htaccess?

php - 从多个记录中获取所有不同的值但不重复

带日期的MySQL查询