【发布时间】:2017-07-02 18:44:38
【问题描述】:
我有以下疑问:
select
C.ClientID,
C.FirstName + ' ' + C.LastName as ClientName,
CAST(V.StartDate as date) as VisitDate,
count(*) as 'Number of Visits'
from
Visit V
Inner Join Client C on
V.ClientID = C.ClientID
group by
C.ClientID,
C.FirstName + ' ' + C.LastName,
CAST(V.StartDate as date)
having
count(*) > 3
order by
C.ClientID,
CAST(V.StartDate as date)
给出以下结果(名字是假的,以防有人想知道)
ClientID ClientName VisitDate Number of Visits
75 Kay Taylor 2016-06-07 4
372 Moses Mcgowan 2016-09-03 4
422 Raven Mckay 2016-03-11 4
422 Raven Mckay 2016-06-14 4
679 Ulysses Booker 2016-01-09 4
696 Timon Turner 2016-07-06 4
1063 Quyn Wall 2016-06-25 4
1142 Garth Moran 2016-11-20 4
1142 Garth Moran 2016-11-21 4
1563 Hedley Gutierrez 2016-01-07 4
1563 Hedley Gutierrez 2016-01-17 4
1563 Hedley Gutierrez 2016-01-21 4
1563 Hedley Gutierrez 2016-01-27 4
1563 Hedley Gutierrez 2016-01-28 4
1563 Hedley Gutierrez 2016-01-30 4
1563 Hedley Gutierrez 2016-02-27 4
1563 Hedley Gutierrez 2016-03-26 4
1563 Hedley Gutierrez 2016-04-06 4
1563 Hedley Gutierrez 2016-04-09 4
1563 Hedley Gutierrez 2016-04-22 4
1563 Hedley Gutierrez 2016-05-06 4
1563 Hedley Gutierrez 2016-05-26 4
1563 Hedley Gutierrez 2016-06-02 4
1563 Hedley Gutierrez 2016-07-14 4
1563 Hedley Gutierrez 2016-07-29 4
1563 Hedley Gutierrez 2016-08-09 7
1563 Hedley Gutierrez 2016-09-01 4
1563 Hedley Gutierrez 2016-09-23 4
1563 Hedley Gutierrez 2016-12-07 4
1636 Kiara Lowery 2016-01-12 4
2917 Cynthia Carr 2016-06-21 4
2917 Cynthia Carr 2016-10-21 4
3219 Alan Monroe 2016-01-02 4
3219 Alan Monroe 016-02-27 4
3219 Alan Monroe 2016-09-01 5
4288 Natalie Mitchell 2016-03-19 4
我怎样才能让结果只显示一次 ClientID 和 ClientName 所以结果是这样的?
ClientID ClientName VisitDate Number of Visits
75 Kay Taylor 2016-06-07 4
372 Moses Mcgowan 2016-09-03 4
422 Raven Mckay 2016-03-11 4
2016-06-14 4
679 Ulysses Booker 2016-01-09 4
696 Timon Turner 2016-07-06 4
1063 Quyn Wall 2016-06-25 4
1142 Garth Moran 2016-11-20 4
2016-11-21 4
1563 Hedley Gutierrez 2016-01-07 4
2016-01-17 4
2016-01-21 4
2016-01-27 4
2016-01-28 4
2016-01-30 4
2016-02-27 4
2016-03-26 4
2016-04-06 4
2016-04-09 4
2016-04-22 4
2016-05-06 4
2016-05-26 4
2016-06-02 4
2016-07-14 4
2016-07-29 4
2016-08-09 7
2016-09-01 4
2016-09-23 4
2016-12-07 4
1636 Kiara Lowery 2016-01-12 4
2917 Cynthia Carr 2016-06-21 4
2016-10-21 4
3219 Alan Monroe 2016-01-02 4
3219 016-02-27 4
2016-09-01 5
4288 Natalie Mitchell 2016-03-19 4
【问题讨论】:
-
你不应该为此使用 sql
-
在您的应用程序代码中执行此操作。
-
我同意 HB,这在表示层处理得更好。报告工具将使用正确的设置自动执行此操作。
-
这将是理想的,但不幸的是,这是一个需要直接进入 Excel 电子表格的数据集,因此这里没有报告层,结果可能有数千个,因此无法手动完成.
-
@James 你可以在 excel 中使用数据透视表。
标签: sql-server tsql