2016-11-17 14 views
-1

最近、データベース列の要素を追加するという問題が発生しました。ここでは、次のコードです:あなたが見ることができるようにPythonの集計データベース列

import sqlite3 
con = sqlite3.connect("values.db") 
cur = con.cursor() 

cur.execute('SELECT objects FROM data WHERE firm = "sony"') 

が、私は、データベース(SQL)に接続して、私はコラム「オブジェクト」を選択するためにはPythonに伝えます。

問題は、私が選択したオブジェクトを合計するための適切なコマンドを知らないということです。

任意のアイデア/アドバイスは非常にreccomendedされています。

ありがとうございます!

+2

あなたは追加の詳細を提供することができますか?あなたが「選択したリツイートを合計する」ことが何を意味するのか不明です。 – aakash

+0

申し訳ありませんが、私はオブジェクトを意味していました。 – lavezzi7

答えて

0

次の行を試してください:あなたが代わりにそれらを一緒に追加のアイテムが必要な場合は

print sum([ row[0] for row in cur.fetchall()]) 

を:それはデータ転送を減らすようあなたは、データベースを持つことができる場合は

print ([ row[0] for row in cur.fetchall()]) 
2

は、合計を行うと、データベースはそれがうまくいくようにします。

cur.execute("SELECT sum(objects) FROM data WHERE firm = 'sony'") 

または、実際にはオブジェクトの合計数を探している場合は、

cur.execute("SELECT count(objects) FROM data WHERE firm = 'sony'") 

いずれかの方法で、あなたの結果は単純です:

count = cur.fetchall()[0][0] 
+0

ありがとう! fetchallとは別の方法がありますか?リストのリストとして – lavezzi7

+0

lavezzi7 @、他の方法が常にありますが、(cur.executeの結果を考える) - それは本当に行のリスト(1つでも行の場合)ですが、各行は列のリストを含むと(たとえ1列であっても)。 – pbuck

+0

データベースから結果を排除したいので、fetchall()を使うのがこれには完璧です。 sqllite3でプレイし、[link](https://docs.python.org/2/library/sqlite3.html)をチェックしてください。 – pbuck