我正在绘制来自大型数据库(150K +行)的数据,而某些数据点具有相同的时间戳和不同的价格值。
例如:
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
我的目标是仅获取唯一的时间戳,并避免查询重复项。
答案 0 :(得分:3)
您可以使用聚合:
SELECT time, MIN(price) as price
FROM price_table
WHERE time >= '" . $data_from . "'
GROUP BY time
ORDER BY time ASC;
当然,当有重复时,这就引出了price
所需的问题。