SqlSugar数据查询去重

SqlSugarHelper.StartSqlSugar(db =>
            {
                
                // db.Queryable<Order_Detail>().Take(1).PartitionBy(od => od.Carrier).ToList(); // 分组获取每组第一条
                // db.Queryable<Order_Detail>().OrderBy(od => od.Carrier, OrderByType.Desc).Take(1).PartitionBy(od => od.Carrier).ToList();

                int Count = 0;
                int Count = 0;
                P.StoreDeliveryLogInfo = db.Queryable<Client_Info,Order_Detail,Basics_ShopInfo>((ci,od,bci) => new object[] {
                    JoinType.Left,ci.ID == od.Client && ci.Valid == 1,
                    JoinType.Left,ci.Shop == bci.ID && ci.Valid == 1,
                })
                .Where((ci, od) => od.Valid == 1 && od.PlatForm == R.PlatForm)
                .WhereIF(R.Shop > 0, (ci, od, bci) => ci.Shop == R.Shop)
                .WhereIF(!String.IsNullOrEmpty(R.StartTime), (ci, od, bci) => od.CreateTime >= SqlFunc.ToDate(R.StartTime))
                .WhereIF(!String.IsNullOrEmpty(R.EndTime), (ci, od, bci) => od.CreateTime <= SqlFunc.ToDate(R.EndTime))
                .Select((ci, od, bci) => new OperationModel.ReturnSubsidiary.Report.StoreDeliveryLogInfo() { 
                    ID = ci.ID,
                    Shop = ci.Shop,
                    ShopName = bci.Name,
                    Client = ci.ID,
                    ClientName = ci.Name,
                    OrderId = od.ID,
                    CreateTime = MySqlFunc.ToDateTime(od.CreateTime, 120)
                })
                .Take(1).PartitionBy(ci => ci.ID) // 根据客户ID去重重复
                .ToPageList(R.Page, R.PageCount, ref Count);
                P.Count = Count;
            });

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值