Sql server 如何在sql server 2008中重写此查询

Sql server 如何在sql server 2008中重写此查询,sql-server,Sql Server,重写这一点的一种方法是 WITH a AS (SELECT accen, accno, tranamt, COUNT(*) AS [b] FROM dbo.tbl1 WHERE DATEt > 2 / 10 / 2013 GROUP BY accen, accno,

重写这一点的一种方法是

WITH a
     AS (SELECT accen,
                accno,
                tranamt,
                COUNT(*) AS [b]
         FROM   dbo.tbl1
         WHERE  DATEt > 2 / 10 / 2013
         GROUP  BY accen,
                   accno,
                   tranamt
         HAVING COUNT(*) > 1)
SELECT code,
       COUNT(*)
FROM   a A
       INNER JOIN dbo.tbl1 t
         ON a.accen = q.accen
            AND a.accno = t.accno
            AND a.tranamt = t.tranamt
            AND t.datet > 2 / 10 / 2013
GROUP  BY code 

这不是写日期文字的方式<代码>2/10/2013=0。应该是
'20131002'
。除此之外,重写的目的是什么?我同意日期。上面/下面的部分都来自同一个表格,所以我在想是否有更好的方法来写。。。
WITH a
     AS (SELECT *,
                COUNT(*) OVER (PARTITION BY accen, accno, tranamt ) AS [b]
         FROM   dbo.tbl1
         WHERE  DATEt > '20131002')
SELECT code,
       COUNT(*)
FROM   a
WHERE  b > 1
GROUP  BY code