统计 count 怎么写呢? 返回

SqlSugar 老数据
1 1099
该叫什么 Ping 发布于2023/2/17
悬赏:5 飞吻

这是sql:

统计当月的总数量、合格数量、不合格数量

select

cast(strftime('%d',CreatedTime) as int) as day,

count(1) count,

count(IsOk==1 or null) okcount,

count(IsOk!=1 or null) notcount

from TorqueLog

where CreatedTime>@dt1 and CreatedTime<@dt2

group by day

order by day


我转为linq卡主了:

                var dbdata = DbHelp.db.Queryable<Student>()

                .Where(o => o.Time > dt1 && o.Time < dt2)

                .GroupBy(o => o.Time.Value.Day)

                .Select(o => new

                {

                    day = o.Time.Value.Day,

                    count = 1,

                    okcount = 1,

                    notcount = 1,

                });

请问下,怎么写呢。

热忱回答(1)

  • Ping Ping VIP0
    2023/2/17

    我明白了

                    var dbdata = DbHelp.db.Queryable<CyEngraving>()

                    .Where(o => o.Time > dt1 && o.Time < dt2)

                    .GroupBy(o => o.Time.Day)

                    .Select(o => new

                    {

                        day = o.Time.Day,

                        count = SqlFunc.AggregateCount(o.Id),

                        okcount = SqlFunc.AggregateCount(o.EngravedReslut == "ok" ? "" : null),

                        notcount = SqlFunc.AggregateCount(o.EngravedReslut != "ok" ? "" : null),

                    })

                    .OrderBy(o => o.day)

                    .ToList();


    0 回复