sql选取每个分组中的第一条数据
sql选取每个分组中的第一条数据
1.创建测试表
1 2 3 4 5 6 | CREATE TABLE #Order1 ( OrderName VARCHAR(50), RequestDate datetime, OrderCount INT ) |
2.插入测试数据
1 2 3 4 5 6 7 | INSERT INTO #Order1 VALUES('衣服','2013-06-02',2) INSERT INTO #Order1 VALUES('衣服','2013-06-03',4) INSERT INTO #Order1 VALUES('衣服','2013-06-04',5) INSERT INTO #Order1 VALUES('鞋','2013-06-02',3) INSERT INTO #Order1 VALUES('鞋','2013-06-03',7) INSERT INTO #Order1 VALUES('鞋','2013-06-04',8) |
3.选取每组中时间最近的一条
1 2 3 4 5 6 | SELECT * FROM ( SELECT ROW_NUMBER()OVER(PARTITION BY OrderName ORDER BY RequestDate DESC) AS rownum, OrderCount,OrderName FROM #Order1 ) T WHERE T.rownum = 1 |
如何解决在SQL Server 2000里,用户已经存在的错误:21002? XMLHTTP版本详解及使用正确的版本
1 条评论 “sql选取每个分组中的第一条数据”