SQL Lite Abfrage

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

ja schon aber wie genau :

Code: Alles auswählen

cursor.execute('''SELECT einwohner_mio * 1000000 FROM laender_info ''').fetchall()

Out[15]: 
[(652000.0,),
 (2000000.0,),
 (3000000.0,),
 (4000000.0,),
 (2000000.0,),
 (998000.0,),
 (12000000.0,),
 (3000000.0,),
 (2000000.0,),
 (4000000.0,),
 (6000000.0,),
 (2000000.0,),
 (2000000.0,),
 (18000000.0,),
 (11000000.0,),
 (8000000.0,)]

cursor.execute('''SELECT sum (einwohner_mio * 1000000) FROM laender_info ''').fetchall()
Out[16]: [(80650000.0,)]

cursor.execute('''SELECT insgesamt FROM migrationshintergrund_2013 ''').fetchall()
Out[17]: 
[(10599,),
 (12556,),
 (3396,),
 (2448,),
 (655,),
 (1744,),
 (6029,),
 (1598,),
 (7784,),
 (17553,),
 (3991,),
 (992,),
 (4044,),
 (2250,),
 (2810,),
 (2164,)]

cursor.execute('''SELECT sum(insgesamt) FROM migrationshintergrund_2013 ''').fetchall()
Out[18]: [(80613,)]
eigentlich müsste die Rechnung ja 80 650000 - 80613 = 80 569 387 lauten aber Python gibt mir immer ein anderes Ergebnis aus. Also wie kombiniere ich die Ausdrücke innerhalb einer SELECT Anweisung (richtige Klammersetzung etc.) damit das gleiche rauskommt?
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@Padidem: Du glaubst also immer noch, dass man für die Aufgabe "sum" braucht?
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

naja.... in der Aufgabenstellung ist folgender Hinweis enthalten:

Die absolute Differenz der Einwohnerzahl in der Tabelle laender info und der Einwohnerzahl(
gesamt) in der Tabelle migrationshintergrund 2013; Hinweis: SQLite Funktionen
BlackJack

@Padidem: Der Hinweis deutet auf eine andere Funktion als ``SUM()`` hin. Nehmen wir mal an a=3 und b=5, wie lautet die absolute Differenz davon? Und wie sieht es bei a=5 und b=3 aus? Wie sähe die Formel für die absolute Differenz für ein beliebiges a und b aus?
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

du meinst die ABS Funktion?
BlackJack

@Padidem: Genau die meinte ich.
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

aber ich muss die werte der spalte doch dennoch davor aufsummieren oder?
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@Padidem: wenn Du meinst. Ist Deine Aufgabe.
Antworten