Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL група по дни, показване на поръчки за всеки ден

SQL не "пропуска" дати... защото заявките се изпълняват срещу данни това всъщност е в таблицата. Така че, ако нямате ДАТА в таблицата за 14 януари, тогава защо SQL ще ви показва резултат :)

Това, което трябва да направите, е да създадете временна таблица и да се ПРИСЪЕДИНЕТЕ към нея.

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)

Ето го!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчислете хеш или контролна сума за таблица в SQL Server

  2. Възможно ли е да се използва пълнотекстово търсене (FTS) с LINQ?

  3. Свързване към MS sql чрез хибернация

  4. sql заявката отнема повече време, когато се изпълнява в изглед

  5. Мога ли да добавя дефинирана от потребителя функция на ниво сървър в SQL Server 2008 r2?