Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL WEEK ():Nhận tất cả các tuần trong phạm vi ngày (có / không có bản ghi)

Giả sử bạn có một bảng các số nguyên (được gọi là `numbers` dưới đây):

   SELECT COALESCE(n, 0) AS num_complaints, CONCAT('Week ', i) AS `week`
     FROM (SELECT i
             FROM numbers
            WHERE i BETWEEN (SELECT WEEK(MIN(complaintRaisedDate)) FROM events LIMIT 1)
                            AND
                            (SELECT WEEK(MAX(complaintRaisedDate)) FROM events LIMIT 1))
          week_ranges
LEFT JOIN (  SELECT count(id) AS n, WEEK(complaintRaisedDate) AS weeknum
               FROM events
              WHERE categoryId=1
           GROUP BY weeknum) weekly_tallies
       ON week_ranges.i = weekly_tallies.weeknum
 ORDER BY `week` ASC;

SQL fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không chuyển đổi được từ loại [java.lang.Object []] sang loại

  2. Tại sao không sử dụng quyền và người dùng MySQL tích hợp sẵn cho một trang web?

  3. Lỗi giá trị mặc định của MySQL với CẬP NHẬT KHÓA KÉP BẬT

  4. Chèn dữ liệu vào nhiều bảng thông qua chế độ xem sql

  5. MySQL:Đếm bản ghi từ một bảng và sau đó cập nhật bảng khác