Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Grupuj SQL według dnia, pokaż zamówienia na każdy dzień

SQL nie „pomija” dat... ponieważ zapytania są wykonywane na danych to jest faktycznie w tabeli. Więc jeśli nie masz DATY w tabeli z 14 stycznia, to dlaczego SQL miałby pokazać Ci wynik :)

To, co musisz zrobić, to stworzyć tymczasowy stół i DOŁĄCZYĆ do niego.

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)

Proszę bardzo!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie SQL do generowania macierzy, takiej jak tabela powiązana z zapytaniem wyjściowym w SQL Server

  2. SSIS — Konwertuj wartości wielu kolumn na Null

  3. Pomiń niektóre kolumny w SqlBulkCopy

  4. Jak utworzyć indeks nieklastrowy w Create Table?

  5. Znaczenie klucza podstawowego do Microsoft SQL Server 2008