laravel - 在 Laravel 中选择列的总和等于固定值的行
问题描述
我想获得一个(或所有)可能的行组合,其中数量列的总和等于 20
这是一个例子:
id quantity
1 11
2 1
3 4
4 12
5 19
6 10
7 3
8 13
9 16
10 14
我想有更少的行,在这个例子中:
5 19
2 1
如果不可能,这个也是可以接受的:
5 19
9 16
解决方案
你可以交叉加入表格到它自己!
$value = DB::table('myTable as t1')->crossJoin('myTable as t2')
->select('t1.id as t1Id','t1.quantity as t1Quantity','t2.id as t2Id','t2.quantity as t2Quantity')
->whereRaw('t1.quantity+t2.quantity=20')->get();
推荐阅读
- electron - 使用 Electron 时在路径中显示带有空格的图像(Windows)
- java - jolokia:无法执行带参数的命令
- mysql - 以角度读取节点表达的响应
- excel - 如何在云excel_E1办公包上运行数组公式
- go - 带有 websockets 和 redis 的多房间聊天应用程序
- python - pyodbc,一步创建并插入红移表的方法
- git - git 命令 - checkout 和 switch 之间的区别
- visual-studio-2019 - 将 Platform Toolset 从 v120 升级到 v142 时的编译问题(visualstudio 2019)
- visual-studio - Visual Studio 2019 DSL 工具箱(Microsoft Corporation .Net 组件的 4.0.0.0 版)
- google-apps-script - 选择随机单元格,忽略空单元格