数据库常用查询语句及函数表达式

  1. 查询当天数据
    • 数量小的时候用,数据量稍微起来巨慢

      1
      select 字段 from 表名 where to_days(时间字段) = to_days(now())
    • 速度快

      1
      select 字段 from 表名 where 时间字段 BETWEEN CONCAT(CURDATE(),' 00:00:00') AND CONCAT(CURDATE(),' 23:59:59')
  2. 查询近7天的数据
    1
    SELECT DATE_FORMAT(create_time,'%Y-%m-%d') '日期', COUNT(*) '订单数量' FROM ms_order WHERE create_time >= CURDATE() - INTERVAL 7 DAY GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')
  3. 这条查询会返回每一天的订单数量,包括没有订单的日期,并将没有订单的日期的订单数量设为 0

    1
    2
    3
    4
    5
    6
    SELECT date_table.date, IFNULL(COUNT(orders.id), 0) AS order_count
    FROM (
    SELECT DISTINCT orderDate AS date FROM orders
    ) date_table
    LEFT JOIN orders ON date_table.date = orders.orderDate
    GROUP BY date_table.date;