【发布时间】:2017-03-02 04:19:48
【问题描述】:
我对 SQL 有点熟悉。我使用 SQL Server 2012。
我有这张桌子:
|Id | SiteId| SiteDesc |IsNormal| DateReview |FrequencyId|
|3379| 5| colon | 1 | 2016-09-10 00:00:00.000| 1 |
|3381| 5| colon | 0 | 2016-09-15 00:00:00.000| 1 |
|3382| 5| colon | 1 | 2016-09-21 00:00:00.000| 1 |
|3489| 5| colon | 0 | 2016-08-10 00:00:00.000| 1 |
|3851| 5| colon | 1 | 2016-08-16 00:00:00.000| 1 |
|3537| 2| dogon | 1 | 2016-05-05 00:00:00.000| 1 |
|3863| 2| dogon | 1 | 2016-05-20 00:00:00.000| 1 |
IsNormal 列属于BIT 数据类型。
我需要按SiteId 和DateReview 对表格进行分组(只有月份和年份)。如果在IsNormal 列中至少一行的属性为假,则在分组表中它必须为假。
这是所需的分组表:
| SiteId| SiteDesc |IsNormal| DateReview |FrequencyId|
| 5| colon | 0 | 2016-09-10 00:00:00.000| 1 |
| 5| colon | 0 | 2016-08-10 00:00:00.000| 1 |
| 2| dogon | 1 | 2016-05-05 00:00:00.000| 1 |
【问题讨论】:
-
@gaurav 选择中带有分组依据的任何项目都必须在分组依据或聚合中:不符合此规则。
标签: sql sql-server tsql sql-server-2012 group-by