【发布时间】:2018-07-26 02:33:12
【问题描述】:
我有一个查询,我正在尝试使用 SQL Server 将其合并到 1 行中。
它一直迫使我按Frequency 列分组,但我只想按UserId 分组。谁能告诉我我做错了什么。
代码:
SELECT userid, frequency,
(select count(frequency) where frequency = 1) AS Onetime,
(select count(frequency) where frequency = 2) AS Daily,
(select count(frequency) where frequency = 3) AS Weekly,
(select count(frequency) where frequency = 4) AS Fortnightly,
(select count(frequency) where frequency = 5) AS Monthly,
(select count(frequency) where frequency = 6) AS Quarterly,
(select count(frequency) where frequency = 7) AS SemiAnnual,
(select count(frequency) where frequency = 8) AS Annual
FROM AppTasks
where userid = 'userid@gmail.com'
group by UserID, Frequency
数据:
【问题讨论】:
-
您必须在您的选择中删除
frequency列的投影。然后您可以安全地删除您组中的frequency列。 -
只需将
frequency从您的SELECT和GROUP BY子句中取出。 -
所以这是我尝试的第一件事,它产生了以下错误消息: 列 'AppTasks.Frequency' 在选择列表中无效,因为它既不包含在聚合函数或 GROUP BY 子句中.
标签: sql-server tsql pivot