Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Python 如何使用where条件获取sqlite3数据库中的最后一条记录_Python_Sqlite - Fatal编程技术网

Python 如何使用where条件获取sqlite3数据库中的最后一条记录

Python 如何使用where条件获取sqlite3数据库中的最后一条记录,python,sqlite,Python,Sqlite,我正在尝试搜索sqlite3表中的记录,以获取插入where条件的最后一条记录,但我只能使用一个条件,其中code=df=“DS3243”。但我想做的是使用多个WHERE条件,这样我就可以得到插入代码的最后一条记录 演示 我只能对一个变量执行cur.execute(“从概要文件中选择*,其中代码=?按点ASC限制1排序)”,(df,),但我想对多个变量执行 import sqlite3 jf = "QS2134" df = "DS3243" sf = "MS5787" con = s

我正在尝试搜索sqlite3表中的记录,以获取插入where条件的最后一条记录,但我只能使用一个
条件,其中code=df=“DS3243”
。但我想做的是使用多个WHERE条件,这样我就可以得到插入代码的最后一条记录

演示

我只能对一个变量执行
cur.execute(“从概要文件中选择*,其中代码=?按点ASC限制1排序)”,(df,)
,但我想对多个变量执行

import sqlite3


jf = "QS2134"

df = "DS3243"

sf = "MS5787"


con = sqlite3.connect("TEST.db")
cur = con.cursor()
cur.execute("SELECT * FROM PROFILE WHERE CODE=? ORDER BY POINT ASC LIMIT 1 ",(df,)) # limit one means last one

rows = cur.fetchall()

for row in rows:
    print(row)


con.commit()
con.close()

我认为您只是在尝试扩展查询,在这种情况下,为什么不尝试字符串格式呢

x = "SELECT * FROM my_table where col1 = '{0}' or col2 ='{1}';".format(var_1, var_2)
cur.execute(x)

通过这种方式,您可以使用任意多的条件扩展查询。

我不确定是否理解您的问题,但您的意思是要对结果进行分组吗? 你要找的是“分组依据”条款吗

比如:

select CODE, MAX(POINT) group by CODE;

我有点不清楚问题出在哪里。当您尝试将解决方案扩展到多个WHERE条件时会发生什么情况?我还没有尝试过,您能帮我解决吗?如果我不知道问题是什么,恐怕这很困难。我建议你检查一下房间。它很好地解释了语法。
select CODE, MAX(POINT) group by CODE;