【Freesql】实现动态分组(groupby)

2023-11-09

应用场景 :
分组条件是a,b,c,d的任意组合,来自前端,前端选了 a就只分组a,选了 a,b就分组a,b
请问怎么用freesql写出来?
(select 部分也是来自前端,前端选了 a就只查a,选了 a,b就只查a,b
select a,b,c,d,... from xxx
group by a,b,c,d

.GroupBy(x => new
{
    O_ID = req.groupParams.djjg == 1 ? x.O_ID : null,
    xzqh_id = req.groupParams.ywssqh == 1 ? x.xzqh_id : null,
    qllx = req.groupParams.qllx == 1 ? x.qllx : null,
    djlx = req.groupParams.djlx == 1 ? x.djlx : null
})
.ToList(x => new Dto
{
    djjg = x.Key.O_ID,
    djlx = x.Key.djlx,
    ywssqh = x.Key.xzqh_id,
    qllx = x.Key.qllx,
    bjsl = (int)x.Sum(x.Value.bjsl)
});

group by 怎么动态分组? · Discussion #1038 · dotnetcore/FreeSql · GitHub

,欢迎大家讨论(freesql官方Q群:52508226)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)


【Freesql】实现动态分组(groupby) 的相关文章

随机推荐

  • 开源项目-CRM客户关系管理系统

    哈喽 大家好 今天给大家带来一个开源系统 CRM客户关系管理系统 主要功能包括客户管理 客户流失 销售机会 客户关怀等模块 系统开发环境以及版本 操作系统 Windows 7 集成开发工具 Eclipse EE 4 7 编译环境 JDK 1
  • Python UI自动化 —— 关键字+excel表格数据驱动

    步骤 1 对selenium进行二次封装 创建关键字的库 2 准备一个表格文件来写入所有测试用例步骤 3 对表格内容进行读取 使用映射关系来对用例进行调用执行 4 执行用例 1 对selenium进行二次封装 创建关键字的库 from ti
  • RecyclerView多种方法为Adapter设置点击事件

    文章目录 方法一 在Adapter单独设置 方法二 提供自定义接口 方法三 使用回调 方法一 在Adapter单独设置 在Adapter的onCreateViewHolder或者onBindViewHolder单独为每个组件设置点击事件 两
  • 3分钟弄清楚javascript的堆栈原理

    首先了解一下Javascript的堆栈概念 堆 栈 两者都是存放临时数据的地方 栈 stack 栈的特点是 LIFO 即后进先出 Last in first out 数据存储时只能从顶部逐个存入 取出时也需从顶部逐个取出 比如一个乒乓球的盒
  • mysql学习笔记(3)_DDL(Data Define Language)

    DDL Data Define Language 数据定义语言 数据定义语言 库和表的管理 1 库的管理 创建 修改 删除 2 表的管理 创建 修改 删除 创建 create 修改 alter 删除 drop 库的管理 1 创建名为book
  • 笔记-TCP/IP IPv6遇到的问题

    笔记 TCP IP IPv6遇到的问题 linux平台 问题 IPv6地址可ping通 但connect不上 问题 IPv6 Scope Link连接问题 linux平台 问题 IPv6地址可ping通 但connect不上 原因 linu
  • Littlevgl的时间显示

    Littlevgl的时间显示 基于stm32的littlevgl RTC时间显示 获取时间 不想看的可以点击 完整代码下载代码 验证效果 效果图在最底 获取RTC时间 放入main函数的while循环里面 void calendar get
  • Obsidian笔记运用及分享

    这是一篇关于Obsidian笔记软件的运用及本人的做的一些笔记分享 以后也会慢慢的根据自己所学 所看的书籍进行笔记的更新 因为存在着之前看的一些内容没有做笔记 所以会导致部分的内容不在笔记上 笔记中的内容有些部分会比较简洁 也有部分的内容是
  • nginx反向代理服务,因配置文件错误导致访问资源时出现404

    最近测试手上的项目 出现访问服务器的资源出现404的错误 这个是不应该会出现的问题 因为在此之前经过测试是没问题 下面是详细情况 1 公司的服务器都是做过nginx反向代理 2 访问路径是在tomcat中配置过虚拟路径 3 前几天服务器有做
  • 数据挖掘及管理系统-机器学习和数据挖掘课程设计

    这学期做的一个课设 在web的基础上加入了简单的聚类算法 并将其可视化 采用springboot freemarker完成 可视化采用echarts 算是对自己学习web以来的转化实践吧 代码地址米其林餐厅数据挖掘管理系统 具体都在READ
  • 对比损失(Contrastive Loss)

    其中 W 是网络权重 Y是成对标签 如果X1 X2这对样本属于同一个类 Y 0 属于不同类则 Y 1 Dw 是 X1 与 X2 在潜变量空间的欧几里德距离 当Y 0 调整参数最小化X1与X2之间的距离 当Y 1 如果X1与X2之间距离大于m
  • 学java从0开始——记录1

    了解我的文章的知道我是学python的 对于java跟看天书一样 但是没办法生活所迫 兜兜转转开始学java 本次学习记录的是了解java语言特点和JAVA JDK环境变量配置 干不干货我不知道 但是我不记录我会忘 一 java语言特点 1
  • linux查看ssh连接数,查看linux中的TCP连接数

    一 查看哪些IP连接本机 netstat an 二 查看TCP连接数 1 统计80端口连接数 netstat nat grep i 80 wc l 2 统计httpd协议连接数 ps ef grep httpd wc l 3 统计已连接上的
  • Vscode 配置 matlab 环境

    文章目录 一 插件安装与配置 二 实例测试 在文章的开始 说明一下我所使用的是 matlab 2016a vscode 系统为 win10 vscode 可以去官网下载 VSCode中文网 Visual Studio Code中文官网 VS
  • Ubuntu18.04 编译安装 ZLMediaKit

    目录 1 下载ZLMediaKit项目代码 2 安装依赖 2 1 安装gcc编译器 2 2 安装cmake 2 3 安装依赖库 3 编译项目 4 运行 5 推流测试 6 使用url规则播放推流 7 参考 1 下载ZLMediaKit项目代码
  • ubuntu切换ssh的root用户登录

    编辑ssh的配置文件 命令 vim etc ssh sshd config 用光标向下翻 找到Authentication部分 找到 PermitRootLogin without password 并注释掉 然后加入 PermitRoot
  • Fiddler抓手机https请求包

    Fiddler 给手机设置代理并抓取https链接 注 有两部分fiddler设置和手机端设置 且配置完成后 使用时确保PC和手机连接同一WiFi 设置方法如下 1 上网搜索fiddler官方版下载 并安装完成后 开启fiddler 2 选
  • 如何收割流量红利?UB Store的直播电商“三宝”

    如何收割流量红利 UB Store的直播电商 三宝 随着消费者购物习惯的转变 网络渠道消费倚重不断增大 电商已成为企业营销的重要触点 电商的营销价值也在用户 平台属性 数据积淀和技术发展的共同促进下不断提升 据国家统计局和艾瑞统计数据显示
  • 【antlr】antlr语法中的fragment

    1 概述 grammar justDemo ID a z A Z
  • 【Freesql】实现动态分组(groupby)

    应用场景 分组条件是a b c d的任意组合 来自前端 前端选了 a就只分组a 选了 a b就分组a b 请问怎么用freesql写出来 select 部分也是来自前端 前端选了 a就只查a 选了 a b就只查a b select a b