Mysql查询表中的某个字段是昨日的总和

485 阅读1分钟

问题描述:查找数据库中的交易数据,分账、清算、结算三个数据以及次数

  • 分账:指的是每一次都能计算,但是只是纸面数据,计算之后存入数据库,是今天的数据。
  • 清算:指的是昨天一整天的差价,计算存入数据库,是昨天的数据。
  • 结算:指的是可能很多天的一次结算,是一段时间的数据。

所以清算需要计算昨天的总价格,查找了一天的问题,最终在sot上查询到了该SQL stackoverflow.com/questions/7…

SELECT 
    url as LINK,
    count(*) as timesExisted,
    sum(DateVisited between UNIX_TIMESTAMP(subdate(current_date, 1)) and
        UNIX_TIMESTAMP(current_date)) as timesVisitedYesterday
FROM mytable
GROUP BY 1

对于这个sql,主要的查询昨天就是between UNIX_TIMESTAMP(subdate(current_date, 1)) and UNIX_TIMESTAMP(current_date),UNIX_TIMESTAMP是UNIX的时间戳计算,subdate对日期相减一天,与今天的日期取中间,就是昨天一整天的数据。