zoukankan      html  css  js  c++  java
  • ServiceStack.OrmLite 笔记10-group having 分页orderby等

    group having 分页等

    var ev = OrmLiteConfig.DialectProvider.SqlExpression();


    group的使用
    同sql一样,注意group分组的字段要在select里

    ev.Select(c => new { c.Birthday, c.Active }).Where(rn => rn.Birthday >= new DateTime(year, 1, 1) && rn.Birthday <= lastDay).GroupBy(rn => new { rn.Birthday,rn.Active});


    having的使用

    ev.Select(c => new { c.Birthday, c.Active }).Where(rn => rn.Birthday >= new DateTime(year, 1, 1) && rn.Birthday <= lastDay).GroupBy(rn => new { rn.Birthday, rn.Active }).Having(x=>Sql.Max(x.Rate)>5);


    orderby 排序
    一升一降 先降后升 ordered by Rate Descending and Name Ascending
    ev.Where().OrderBy(rn => new { at = Sql.Desc(rn.Rate), rn.Name })
    也可以用这个OrderByDescending


    Limit 分页
    其实就是skip 然后take
    ev.Limit(5); 默认是take 即top 5
    ev.Limit(0, 4);// first page, page size=4;
    ev.Limit(4, 4);// second page
    ev.Limit().OrderBy(); // clear limit, clear orde

     ToCountStatement 总数
      var expr = db.From<LetterFrequency>() .Join<LetterFrequency, LetterStat>() .Where<LetterStat>(x => x.Id > 0);
    

    var rscount= expr.ToCountStatement();//获取expr表达式结果的总数


     ev.SelectDistinct(r => r.City);
     ev.Select(r => Sql.As(Sql.Max(r.Birthday), "Birthday")); //列别名Birthday
     var r2 = db.Scalar<Author, DateTime>(e => Sql.Max(e.Birthday));Author表 DateTime类型
    

    联接
    LeftJoin

    db.Column < string > ( db.From < TableA > ()
    .LeftJoin < TableB >((a, b) => a.Id == b.Id)
    .Where < TableB > (b => b.Id == null)
    .Select(a => a.Name));

    Join

    db.From < TableA > ()
    .Join < TableB > ()
    .OrderBy(x => x.Id);

    CrossJoin

    db.From < CrossJoinTableA > ()
    .CrossJoin < CrossJoinTableB >()
    .OrderBy < CrossJoinTableA >(x => x.Id)
    .ThenBy < CrossJoinTableB >(x => x.Id);




    调试

    db.GetLastSql().Print();

  • 相关阅读:
    MSComm控件进行串口编程的基本步骤(转载)
    Linux C Socket编程原理及简单实例(转载)
    ubuntu14.04英文环境下安装中文输入法(转载)
    2015高工机器人年会第一批100名参会嘉宾名单公布
    中国式人机协作
    优傲机器人:协作机器人助力电子制造业智能转型
    netty学习笔记
    画图模板
    文本建模
    自定义IP协议
  • 原文地址:https://www.cnblogs.com/wang2650/p/5146050.html
Copyright © 2011-2022 走看看