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

Suma jednej grupy kolumn według kolumny daty

Co jeśli użyjesz:

select SUM(WordCount) as 'words per day' 
from @WordsCount 
group by DateAdded

Nie rozumiem, dlaczego grupujesz też według liczby słów...

Ponadto, ponieważ DateAdded prawdopodobnie jest to DATETIME kolumna zawierająca część czasu, możesz chcieć pogrupować tylko według daty:

select SUM(WordCount) as 'words per day' 
from @WordsCount 
group by CAST(DateAdded AS DATE)

Aktualizacja: jeśli spróbuję tego, zapytanie działa dobrze ....

DECLARE @WordsCnt TABLE (WordCount INT, DateAdded DATETIME)

INSERT INTO @wordsCnt(WordCount, DateAdded)
VALUES(96, '2008-11-07 09:16:31.810'),
      (32, '2008-11-07 15:26:27.547'),
      (25, '2008-11-23 16:05:39.640'),
      (62, '2008-12-03 12:33:03.110')

select CAST(DateAdded AS DATE), SUM(WordCount) as 'words per day' 
from @WordsCnt
group by CAST(DateAdded AS DATE)

i generuje wynik:

2008-11-07   128
2008-11-23    25
2008-12-03    62


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest procedura składowana i dlaczego procedura składowana?

  2. Konwersja DateTime do formatu RRRR-MM-DD w SQL Server

  3. oblicz sumę wierszy - serwer SQL

  4. Jak utworzyć wyzwalacz, który zapisałby usunięte dane (wiele rekordów) w tabeli produkcyjnej?

  5. Czy mogę zmusić Linq do Sql do korzystania z Sql2005Provider?