我正在为SQL Server编写一个查询,想知道有没有人能给我一些关于选择组成一组的单个行的提示(在这种情况下,组是基于聚合函数COUNT)。
因此,以下面的账单表为例,如果我想选择每个客户的所有账单,其中他们在特定日期之后有2个或更多的账单。
ClaimID ClaimDate ClientName
101 May 5, 2010 Jim
102 June 19, 2010 Jim
103 August 5, 2008 Jim
104 January 1, 2011 Mary
105 May 8, 2009 Mary
106 November 4, 2010 Mary
107 October 6, 2010 Mary
108 April 4, 2010 Bob
109 April 29, 2009 Bob
110 July 7, 2006 Joe
所以如果我执行
SELECT ClientName, COUNT(ClaimID) FROM Billings
WHERE ClaimDate > '2010'
Group By ClientName
Having COUNT(ClaimID) > 1
我会得到:
Jim 2
Mary 3
这个查询可以找到在给定时间内有2笔或更多账单的所有客户,但我希望实际列出这些账单的详细信息。
ClaimID ClientName Count
101 Jim 2
102 Jim 2
104 Mary 3
106 Mary 3
107 Mary 3
你认为最好的实现方式是什么?
谢谢。
Count
是一个保留字。(2) 它在子查询中缺失。 - RichardTheKiwi