我正在绘制来自大型数据库(超过 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/