我需要一个查询来返回每个人每天和每个面板的第一行。我还需要按面板计数。
样本数据
evnt_dat、evnt_descrp、panel_descrp、lname、fname、cardno 2013 年 10 月 2 日上午 8:30 本地拨款奥斯汀小组埃文斯迈克尔 52836 2013 年 10 月 2 日上午 8:53 当地格兰特奥斯汀小组 Lang Richard 50385 2013 年 10 月 2 日上午 8:59 本地拨款奥斯汀小组埃文斯迈克尔 52836 2013 年 10 月 2 日上午 9:22 本地拨款奥斯汀小组 Brozek Kerry 50346 2013 年 10 月 2 日上午 9:34 本地拨款奥斯汀小组 Brozek Kerry 50346 2013 年 10 月 2 日上午 10:02 本地拨款奥斯汀小组埃文斯迈克尔 52836 2013 年 10 月 3 日上午 7:13 当地格兰特贝尔维尤小组戈因斯约瑟夫 21082 2013 年 10 月 3 日上午 7:13 当地格兰特贝尔维尤小组戈因斯约瑟夫 21082 2013 年 10 月 3 日上午 7:19 当地格兰特贝尔维尤小组 Bartolovic Doug 44974 2013 年 10 月 3 日上午 7:23 当地格兰特贝尔维尤小组 Bartolovic Doug 44974
期望的结果:
2013 年 10 月 2 日上午 8:30 本地拨款奥斯汀小组埃文斯迈克尔 52836 2013 年 10 月 2 日上午 8:53 当地格兰特奥斯汀小组 Lang Richard 50385 2013 年 10 月 2 日上午 9:22 本地拨款奥斯汀小组 Brozek Kerry 50346 计数 = 3 2013 年 10 月 3 日上午 7:13 当地格兰特贝尔维尤小组戈因斯约瑟夫 21082 2013 年 10 月 3 日上午 7:19 当地格兰特贝尔维尤小组 Bartolovic Doug 44974 计数 = 2
我试过了
;WITH CTE AS
( SELECT *, ROW_NUMBER() OVER(PARTITION BY cardno ORDER BY convert(date,evnt_dat) DESC) AS RN
FROM ev_log )
SELECT cardno, lName, fname, evnt_Dat, panel_descrp
FROM CTE WHERE RN = 1
谢谢