Khang Hoang
SELECT status, COUNT(*) AS so_don FROM orders WHERE created_at >= "2026-06-01" AND created_at < "2026-07-01" GROUP BY status ORDER BY so_don DESC. Em dùng >= đầu tháng và < đầu tháng sau chứ không dùng BETWEEN, tại cột created_at có cả giờ phút, dùng BETWEEN là sót mất mấy đơn trong ngày cuối tháng. Cần thêm doanh thu thì thêm SUM(total). Em dùng SQL chủ yếu để tự check số trước khi đưa vào tài liệu, kiểu xem thật ra có bao nhiêu đơn đang treo ở trạng thái chờ thanh toán.