MySQL按日期获取最接近的值
Posted
技术标签:
【中文标题】MySQL按日期获取最接近的值【英文标题】:MySQL get nearest value by date 【发布时间】:2016-07-07 15:30:57 【问题描述】:我有下表,我每周存储客户数量
| area | date | count |
|---------|------------|-------|
| AREA I | 2016-03-20 | 530 |
| AREA I | 2016-03-13 | 520 |
| AREA II | 2016-03-20 | 370 |
现在我想在另一张桌子上按日期值获取最近的客户计数。所以如果我给 f.ex.日期 2016-03-15
它应该为 AREA I
返回 520,为 AREA II
返回 370。
查询示例:
SELECT a.period, a.area, b.customerCount FROM periods a
JOIN customer_count b ON (...)
GROUP BY a.period, a.area
我认为我应该以某种方式使用ABS()
和DATEDIFF()
,但我不明白。还是有其他方法可以做到这一点?
提前致谢。
【问题讨论】:
【参考方案1】:尝试使用:
SELECT a.period, a.area, b.customerCount FROM periods a
JOIN customer_count b ON (...)
GROUP BY a.period, a.area
ORDER BY ABS(DATEDIFF( `date`, NOW()))
【讨论】:
分组后这个订单结果对吗?我认为它们必须在JOIN
订购以上是关于MySQL按日期获取最接近的值的主要内容,如果未能解决你的问题,请参考以下文章