Nhibernate Case SUM
2024-08-27 14:27:34
SELECT
ID
SUM(CASE WHEN myProperty = 2 THEN 1 ELSE 0 END) as nbRowWithValueOf2,
SUM(CASE WHEN myProperty = 3 THEN 1 ELSE 0 END) as nbRowWithValueOf3
FROM Foo
GROUP BY ID
queryover = queryover
.Select(
Projections.Group<Foo>(c => c.ID),
Projections.Sum(
Projections.Conditional(
Restrictions.Where<Foo>(f => f.myProperty == MyEnum.Two),
Projections.Constant(),
Projections.Constant())),
Projections.Sum(
Projections.Conditional(
Restrictions.Where<Foo>(f => f.myProperty == MyEnum.Three),
Projections.Constant(),
Projections.Constant())));
生成SQL
SELECT this_.ID as y0_,
sum((case
when this_.myProperty = 2 /* @p0 */ then 1 /* @p1 */
else 0 /* @p2 */
end)) as y1_,
sum((case
when this_.myProperty = 3 /* @p3 */ then 1 /* @p4 */
else 0 /* @p5 */
end)) as y2_
FROM [Foo] this_
GROUP BY this_.ID
最新文章
- C# 托管和非托管混合编程
- [AIR] 新建窗口的方法
- 360手机卫士会影响Widget的运行
- 第21条:理解Objective-C错误模型
- 不一样的编码风格--Lambda表达式
- poj 2312 Battle City【bfs+优先队列】
- SQL字符串处理函数大全
- Wix打包系列(二)用户界面和本地化操作
- List中函数用法 First,FirstOrDefault,Single,SingleOrDefault的区别
- ACdream 1020 The Game about KILL
- SSL交互过程
- 纯JS实现图片验证码功能并兼容IE6-8
- Python 继承和组合 接口
- javascript 的继承
- python笔记七(递归函数)
- Mybatis源码分析之参数映射及处理ParameterHandler
- jquery跳出当前的each循环的方式
- Matlab与C混编的介绍
- It is never too late!
- jQuery几个好用的插件
热门文章
- JDBC之java数据库的连接与简单的sql语句执行
- 回调函数callback
- IOC原理解释
- jquery优势
- 18.用两个栈实现队列[2StacksToImplementQueue]
- mybatis存入数据库后没有时分秒时间不全只有年月日
- [Android Pro] 超能RecyclerView组件使用
- js “+” 连接字符串&;数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用
- Java Hour 13 集合基础
- 分享一款超棒的jQuery旋钮插件 - jQuery knob