記一個實用的sql查詢語句

liaochangjiang發表於2019-02-07

最近要實現一個,給定開始和結束日期,統計每天新增使用者數和新增訂單數的功能,如圖所示:

記一個實用的sql查詢語句

該開始比較蠢,採用的方法是:

  • 先根據開始結束時間計算出中間的日期列表
  • 遍歷列表,取當前日期和下一日期,查詢出在這段時間內新增加的使用者數和訂單數

可想而知,這種查詢的效率極低,所幸sql有一種sql語句恰好滿足了這種需求,比如我需要查詢訂單表每天新增的訂單數,可以這樣寫查詢語句:

  • 以天為單位統計
SELECT DATE_FORMAT(created_at, “%Y-%m-%d” ) , COUNT( * )  FROM order_table WHERE status = ‘SUCCESSGROUP BY DATE_FORMAT( created_at, “%Y-%m-%d” ) ;
複製程式碼
  • 以小時為單位統計
SELECT DATE_FORMAT(created_at, “%Y-%m-%d %H” ) , COUNT( * )  FROM order_table WHERE status = ‘SUCCESSGROUP BY DATE_FORMAT( created_at, “%Y-%m-%d %H” ) ;
複製程式碼

這樣就可以用一個查詢語句就能獲取所有所需的資料了,效率提高了很多很多。

相關文章