分组

1、如使用Linq  则为

var list = from c in context.MerchantDetialSummary

                           where c.TransactionDate.StartsWith("1004")

                           group c by c.MerchantID into MyGroup

                           orderby MyGroup.Key

                           select new { MyGroup.Key, totalTransAmt = MyGroup.Sum(row => row.TransactionAmt), totalTransCount = MyGroup.Sum(row => row.TransactionLots), totalFeeMoney = MyGroup.Sum(row => row.TransactionIncome) };

                foreach (var item in list)

                {

                    File.AppendAllText(@"e:/log.txt", string.Format("{0}/t{1}/t{2}/r/n", item.Key, item.totalFeeMoney, item.totalTransAmt, item.totalTransCount), Encoding.Default);

                }

2、若使用Entity Sql 则为

select s.MerchantID,sum(s.TransactionIncome) ,sum(s.TransactionLots),sum(s.TransactionAmt) from SqlBtmsModel.MerchantDetialSummary as s

where s.TransactionDate like '1004%'

group by s.MerchantID

3、Sql

 using (BtmsModels.SqlBtmsModel context = new BtmsModels.SqlBtmsModel())
            {
                var dbList = context.CreateQuery<DbDataRecord>(
                                                  @"select detail.MerchantID,
                                                SUM(detail.TransactionIncome) as a ,
                                                SUM(detail.TransactionAmt) as b,
                                                SUM(detail.TransactionLots) as c
                                                from MerchantDetialSummary as  detail
                                                where detail.TransactionDate like '" + tranMonths + "%' group by  detail.MerchantID").ToList();

                foreach (var item in dbList)
                {
                    MerchantDetialSummary detail = new MerchantDetialSummary();
                    detail.MerchantID = item[0].ToString();
                    detail.TransactionIncome = decimal.Parse(item[1].ToString());
                    detail.TransactionAmt = decimal.Parse(item[2].ToString());
                    detail.TransactionLots = int.Parse(item[3].ToString());
                    list.Add(detail);
                }
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值