weixin_45578929 2019-08-28 16:59 采纳率: 0%
浏览 899

SQL 查询表所有数据,货品有重复的取日期较早的一条

表数据
单号 日期 品号 数量
A001 2019-8-1 1 100
A002 2019-8-2 2 200
A003 2019-8-3 3 300
A004 2019-8-4 1 400
A005 2019-8-5 2 500
A006 2019-8-6 3 600
要查询出的结果
单号 日期 品号 数量
A001 2019-8-1 1 100
A002 2019-8-2 2 200
A003 2019-8-3 3 300

  • 写回答

4条回答

  • 听雨停了 2019-08-28 17:06
    关注
    use Tempdb
    go
    if not object_id(N'Tempdb..#tab') is null
        drop table #tab
    Go
    Create table #tab([单号] nvarchar(24),[日期] Date,[品号] int,[数量] int)
    Insert #tab
    select N'A001','2019-8-1',1,100 union all
    select N'A002','2019-8-2',2,200 union all
    select N'A003','2019-8-3',3,300 union all
    select N'A004','2019-8-4',1,400 union all
    select N'A005','2019-8-5',2,500 union all
    select N'A006','2019-8-6',3,600
    GO
    --测试数据结束
    
    SELECT 单号,日期,品号,数量 
    FROM
    (
        Select *,ROW_NUMBER() OVER(PARTITION BY [品号] order by [日期]) as rn
        FROM #tab
    ) AS a
    WHERE rn=1;
    
    单号                       日期         品号          数量
    ------------------------ ---------- ----------- -----------
    A001                     2019-08-01 1           100
    A002                     2019-08-02 2           200
    A003                     2019-08-03 3           300
    
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler