Seite 2 von 2

Re: SQL Lite Abfrage

Verfasst: Montag 12. Januar 2015, 20:43
von Padidem
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?

Re: SQL Lite Abfrage

Verfasst: Montag 12. Januar 2015, 20:53
von Sirius3
@Padidem: Du glaubst also immer noch, dass man für die Aufgabe "sum" braucht?

Re: SQL Lite Abfrage

Verfasst: Montag 12. Januar 2015, 20:55
von Padidem
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

Re: SQL Lite Abfrage

Verfasst: Montag 12. Januar 2015, 21:41
von 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?

Re: SQL Lite Abfrage

Verfasst: Montag 12. Januar 2015, 22:07
von Padidem
du meinst die ABS Funktion?

Re: SQL Lite Abfrage

Verfasst: Montag 12. Januar 2015, 22:30
von BlackJack
@Padidem: Genau die meinte ich.

Re: SQL Lite Abfrage

Verfasst: Dienstag 13. Januar 2015, 07:21
von Padidem
aber ich muss die werte der spalte doch dennoch davor aufsummieren oder?

Re: SQL Lite Abfrage

Verfasst: Dienstag 13. Januar 2015, 08:44
von Sirius3
@Padidem: wenn Du meinst. Ist Deine Aufgabe.