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

SQL - Обобщена таблица и група не работят

Не можете да ГРУПИРАТЕ ПО дейност, документ, извличане в рамките на PIVOT табличен оператор, PIVOT операторът автоматично извежда групираните колони. Но можете да го напишете по следния начин:

WITH PivotedAS( SELECT * FROM table1 PIVOT ( sum([Count]) FOR [Type] IN (Document, Extraction) ) AS p) SELECT product, SUM(Users) AS TotalUsers, MAX(Date) AS LatestDate, MAX(Документ) КАТО Документ, MAX(Извличане) КАТО ИзвличанеFROM PivotedGROUP BY Product; 

Демонстрация на SQL Fiddle

Това ще ви даде:

<предварителен код>| ПРОДУКТ | ОБЩО ПОТРЕБИТЕЛИ | ПОСЛЕДНА ДАТА | ДОКУМЕНТ | ЕКСТРАКЦИЯ |------------------------------------------------ ------------------------------| продА | 60 | 02 март 2013 г. 02:00:00+0000 | 113 | 152 || prodB | 45 | 02 март 2013 г. 02:00:00+0000 | 40 | 73 |

Актуализация 1

WITH aAS( SELECT activity, username, [Last Accessed] =max(DATEADD(dd, DATEDIFF(d, 0, ActDateTime), 0)), --[#Users] =count(distinct username) , CASE WHEN COUNT(activity) НЕ Е NULL THEN 1 ELSE 0 END AS Count, CASE WHEN pageURL LIKE '/Document%' OR pageURL LIKE '/Database%' THEN 'Document' ELSE 'Extraction' END AS [Type] from activitylog където pageURL не като '%home%' И pageURL не като '/Default%' група по активност, потребителско име, ...), PivotedAS( SELECT * FROM a PIVOT ( sum([Count]) FOR [Type] IN ( Document , Извличане) ) AS p) ИЗБЕРЕТЕ продукт, SUM(Потребители) AS TotalUsers, MAX(DAte) AS LatestDate, MAX(Document) AS Document, MAX(Extraction) AS ExtractionFROM PivotedGROUP BY Product;  


  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. Как да използвате параметър с LIKE в Sql Server Compact Edition

  3. SQL Server 2008 Пълнотекстово търсене (FTS) срещу Lucene.NET

  4. Въведение в защитата на ниво ред в SQL Server

  5. Бързо актуализиране на Sql сървър 2008 R2