Python int列的最大最小结果

Python int列的最大最小结果,python,sqlite,Python,Sqlite,我正在使用Python2.7.6和sqlite 3.3.6。 我有一个带有INT列的表。当我在列上选择max()或min()时,会从行中返回一些既不是最小值也不是最大值的随机数。我试图重现这种行为,手动创建表并插入相同的值,最小值和最大值都能很好地工作。然而,在我的脚本之后,手动查询表再次给出奇怪的结果 下面是CREATETABLE语句 CREATE TABLE customer_score ( DATE INT , SPAUBM INT , "CUSTOMER" TEXT, "SCORE" I

我正在使用Python2.7.6和sqlite 3.3.6。 我有一个带有INT列的表。当我在列上选择
max()
min()
时,会从行中返回一些既不是最小值也不是最大值的随机数。我试图重现这种行为,手动创建表并插入相同的值,最小值和最大值都能很好地工作。然而,在我的脚本之后,手动查询表再次给出奇怪的结果

下面是CREATETABLE语句

CREATE TABLE customer_score ( DATE INT , SPAUBM INT , "CUSTOMER" TEXT, "SCORE" INT ) 
我使用sqlite中的executemany方法来填充表

cursor.executemany("INSERT INTO customer_score VALUES ( ?, ?, ? , ? )", list_to_put)
下面是从文件放入表中的行的示例

 4203 6JASTYMPT 987335
问题的例子:

sqlite> select *  from customer_score  where customer='AAA' and date in (20140219);
20140219|9214|AAA|5017262
20140219|9213|AAA|3409363
20140219|9207|AAA|2288238
20140219|9208|AAA|809365

sqlite> select max(score)  from customer_score  where customer='AAA' and date in (20140219);
809365

sqlite> select min(score)  from customer_score  where customer='AAAL' and date in (20140219);
2288238
可能是executemany方法在插入表之前以某种方式将INT数据搞砸了吗

我不知道该怎么检查这个

更新

SQlite手册规定,
MIN()
MAX()
按限制1进行订购。在我的情况下,ORDER BY也不能像预期的那样工作。行的位置看起来完全是随机的

sqlite> select *   from customer_score  where customer='AAA' and date in (20140218, 20140219) order by score desc  ;
20140219|9208|AAA|809365
20140218|9208|AAA|629937
20140219|9214|AAA|5017262
20140218|9214|AAA|3911855
20140219|9213|AAA|3409363
20140219|9207|AAA|2288238
20140218|9213|AAA|2127092
20140218|9207|AAA|1489895

score
列中的值不是数字而是字符串

您必须确保
list\u to\u put
中的值实际上是数字


(请注意SQLite非常重要;无论您是将其声明为
INT
还是
TEXT
还是
fluffly BUNNIES

谢谢!我没检查这个。我确信,若我以字符串形式将带有数字的sqlite提供给INT格式的列,它将自动转换为INT或抛出异常。关于日期,只要格式为YYYYMMDD,我就可以将日期作为数字进行比较,这就是为什么我将它们保留为INT。