Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 搜索-选择总和等于给定值的行_Sql_Ruby On Rails_Search_Ransack - Fatal编程技术网

Sql 搜索-选择总和等于给定值的行

Sql 搜索-选择总和等于给定值的行,sql,ruby-on-rails,search,ransack,Sql,Ruby On Rails,Search,Ransack,我在RubyonRails上使用ransack搜索,并试图输出1-6之间的随机行,其时间加起来等于搜索指定的给定值 例如,搜索时间值合计为40的行。在这种情况下,将返回id 12和14。1-6之间的任何组合都可以随机输出 如果3行的组合符合条件,则应输出3行。同样地,1,2,3,4,5,6。如果找不到单行或组合,则输出应返回nil 注意-不确定ransack搜索是否是执行此类查询的最佳方法 提前谢谢我想你指的是14和28,而不是24和28?如果没有两行加起来等于40,您希望发生什么?我们应该寻找

我在RubyonRails上使用ransack搜索,并试图输出1-6之间的随机行,其时间加起来等于搜索指定的给定值

例如,搜索时间值合计为40的行。在这种情况下,将返回id 12和14。1-6之间的任何组合都可以随机输出

如果3行的组合符合条件,则应输出3行。同样地,1,2,3,4,5,6。如果找不到单行或组合,则输出应返回nil

注意-不确定ransack搜索是否是执行此类查询的最佳方法


提前谢谢

我想你指的是14和28,而不是24和28?如果没有两行加起来等于40,您希望发生什么?我们应该寻找3行的组合吗?如果任何行数的组合加起来都不等于40,该怎么办?我们应该寻找最接近的组合吗?如果有3行的值为20,则给出2行的三种不同组合,加起来等于40,该怎么办?这些问题需要更清楚、更准确地定义。让我们看看你已经有了什么。另外,请直接说明你的问题,不清楚你需要什么帮助。
  id |          title          |      time 
  ----+-------------------------+-----------
  26 | example                 |        10
  27 | example                 |        26
  14 | example                 |        20
  28 | example                 |        50
  12 | example                 |        20
  20 | example                 |        6