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

Nhóm SQL theo ngày, hiển thị đơn đặt hàng cho mỗi ngày

SQL không "bỏ qua" ngày ... bởi vì các truy vấn chạy dựa trên dữ liệu điều đó thực sự có trong bảng. Vì vậy, nếu bạn không có DATE trong bảng cho ngày 14 tháng 1, thì tại sao SQL lại hiển thị cho bạn một kết quả :)

Những gì bạn cần làm là tạo một bảng tạm thời và THAM GIA vào đó.

CREATE TABLE #MyDates ( TargetDate DATETIME )
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 0, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 1, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 2, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 3, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 4, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 5, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 6, 101))
INSERT INTO #MyDates VALUES CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE() - 7, 101))

SELECT CONVERT(VARCHAR, TargetDate, 101) AS Date, COUNT(*) AS OrderCount
FROM dbo.Orders INNER JOIN #MyDates ON Orders.Date = #MyDates.TargetDate
GROUP BY blah blah blah (you know the rest)

Bạn hiểu rồi!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tại sao varchar (max) không lưu trữ dữ liệu hơn 8000 charaters

  2. Làm thế nào để Hạn chế Độ sâu Đệ quy CTE nhưng Chọn Bảng Chung?

  3. Cách thêm ràng buộc khóa ngoại vào bảng hiện có trong SQL Server (T-SQL)

  4. Không thể thả đối tượng vì nó được tham chiếu bởi ràng buộc NGOẠI KHÓA - Hướng dẫn SQL Server / TSQL Phần 74

  5. Nhận hàng đầu tiên cho một nhóm