2011-08-10 3 views
24

python 2.7을 사용할 때 SQLite SELECT 쿼리에서 단일 결과를 얻는 우아한 방법이 있습니까? 예를 들어python으로 SQLite 쿼리에서 단일 결과를 얻는 방법은 무엇입니까?

:

conn = sqlite3.connect('db_path.db') 
cursor=conn.cursor() 
cursor.execute("SELECT MAX(value) FROM table") 

for row in cursor: 
    for elem in row: 
     maxVal = elem 

그 중첩 for의를 피하기 직접 값을 얻을 수있는 방법이 있나요? 시도했습니다.

maxVal = cursor[0][0] 

아무런 성공도없이.

cursor.fetchone()[0] 

답변

50

는 난 당신이 Cursor.fetchone() 찾고있는 생각

def get_scalar_result(conn, sql): 
    cursor=conn.cursor() 
    cursor.execute(sql) 

    return cursor.fetchone()[0] 

구문 상 정확한 파이썬보다 위의 사과를 드리 겠지만 아이디어를 얻길 바랍니다.

-2

또는 당신이 시도 할 수 있습니다 : cursor.execute("SELECT * FROM table where name='martin'")

3

아니면 SQL 주어진 스칼라 결과를 반환 래퍼 함수를 ​​작성할 수

1

당신이 cursor.fetchone

cursor.execute("select value from table order by value desc limit 1") 
이 내장되어 pysqlite을 사용하지 않는 경우
관련 문제