Seite 1 von 1

selsames Verhalten mit SELECT und SUM in einer sqllite

Verfasst: Donnerstag 8. Oktober 2009, 16:57
von thonix
Hallo zusammen,

ich habe eine Tabelle welche zwei spalten + ID enthält:
ID, Page, Count
1, 'a', 2900000000.0
2, 'b', 1700000000.0
3, 'c', 640300000.0
wenn ich nun ein

Code: Alles auswählen

select page,count from table group by page order by SUM(count) desc limit 50'
bekomme ich die Daten korrekt angezeigt.

Mache ich jedoch ein SUM auf den count Wert:

Code: Alles auswählen

select page,SUM(count) from table group by page order by SUM(count) desc limit 50'
werden folgende Werte ausgegeben:
('a', -1394967296)
('b, 1700000000)
('c', 640300000.0)
Warum wird nicht wie in der DB 2900000000.0 sondern -1394967296 ausgegeben?


Ein SUM wird benötigt da manche pages doppelt vorkommen und addiert werden müssen ...

auf der bash in der sqlite shell funktioniert auch der select mit SUM ...

Der aufruf in Python sieht wie folgt aus:

Code: Alles auswählen

import sqlite
connection  = sqlite.connect('Database.db')
cursor = connection.cursor()
cursor.execute('SELECT ..... siehe oben"')
for b in cursor.fetchall():
   print b
Hat hier jemand einen Rat ?

Vielen Dank und Gruß

Thonix

Re: selsames Verhalten mit SELECT und SUM in einer sqllite

Verfasst: Freitag 9. Oktober 2009, 07:28
von /me
thonix hat geschrieben:ich habe eine Tabelle welche zwei spalten + ID enthält:
ID, Page, Count
1, 'a', 2900000000.0
2, 'b', 1700000000.0
3, 'c', 640300000.0
Nur so als Idee: COUNT ist ein SQL-Schlüsselwort und sollte daher vorzugsweise nicht als Spaltenname verwendet werden. Vielleicht kommt die sqlite-Engine da durcheinander.