当前位置: 代码迷 >> Sql Server >> 重复数据 如何只取一条.
  详细解决方案

重复数据 如何只取一条.

热度:8   发布时间:2016-04-24 21:10:13.0
重复数据 怎么只取一条..
本帖最后由 oTests 于 2013-07-10 12:29:51 编辑

SELECT      pppp.pztait AS 付款方式, Order_detail.Gds_Name AS 商品名称, 
                 Order_detail.Member_Account AS 用户名, Order_detail.Total_Money AS 总金额, 
                 Order_detail.Discount, [Order].Goods_Pay AS 物流处理费,
                [Order].Total_Money AS 付款金额, [Order].Receive_Name AS 姓名, 
                [Order].Receive_Addr AS 地址, [Order].Receive_Tel AS 电话,
                [Order].Deliver_Date AS 订购时间, [Order].No
FROM         pppp INNER JOIN
                [Order] ON pppp.id = [Order].Pay_Method INNER JOIN
             Order_detail ON [Order].No = Order_detail.Order_No
                      


其中 Order_No 有重复

Order_No  Gds_Name
123           产品1c
654           产品2
123           产品3aaa
123           产品5aaa

希望最终结果 只取Order_No 重复数据其中一条 可随机.
结果为
654           产品2
123           产品3aaa


------解决方案--------------------


SELECT     pppp.pztait AS 付款方式, Order_detail.Gds_Name AS 商品名称, Order_detail.Member_Account AS 用户名, Order_detail.Total_Money AS 总金额,                        Order_detail.Discount, [Order].Goods_Pay AS 物流处理费, [Order].Total_Money AS 付款金额, [Order].Receive_Name AS 姓名,                        [Order].Receive_Addr AS 地址, [Order].Receive_Tel AS 电话, [Order].Deliver_Date AS 订购时间, [Order].NoFROM         pppp INNER JOIN                      [Order] ON pppp.id = [Order].Pay_Method INNER JOIN                      (select * from Order_detail where id in (select max(Order_detail.id) from Order_detail group by order_no)
  相关解决方案