Py学习  »  DATABASE

递归运行mysql函数

Jack Rogers • 6 年前 • 859 次点击  

我在MySQL中有一个函数需要在一个查询中运行大约50次(不是一个设定值)。输入当前存储在数组中,例如 [1,2,3,4,5,6,7,8,9,10]

当单独执行MySQL查询时,它工作正常,请参见下面的

column_name 表示为其获取数据的列,在本例中,它是数据库中的一个双精度数

中的第二个值 MOD() 函数是我从前面的数组提供mysql的输入

SELECT id, MOD(column_name, 4) AS mod_output
FROM table
HAVING mod_output > 10

为了实现输出,我需要*以下代码工作

SELECT id, MOD(column_name, 4) AS mod_output1, MOD(column_name, 5) AS mod_output2, MOD(column_name, 6) AS mod_output3
FROM table
HAVING mod_output1 > 10 AND mod_output2 > 10 AND mod_output3 > 10

然而,这显然是非常肮脏的,当没有3个输入,但超过50,这将变得非常低效。

通过调用50多个单独的查询,是否有更好的方法来访问 同类 (见下文)产量?

在escence中,我需要为mysql提供一个值列表并运行它。 模式() 在一个指定列上覆盖它们。

我唯一需要返回的数据是 id 的行与 模式() 具有指定输入的函数输出(参见 模式() 函数)如果输出小于10

请注意, 模式() 已被用作示例函数,但是,所需的最后一个函数*应该是替换的

示例表格布局

id | column_name
1  | 0.234977
2  | 0.957739
3  | 2.499387
4  | 48.395777
5  | 9.943782
6  | -39.234894
7  | 23.49859
.....

(标题可能是错的,我不太确定你还能怎么解释我在这里要做什么)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30469
 
859 次点击  
文章 [ 1 ]  |  最新文章 6 年前