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

Könnte mir denn jemand eine Musterlösung mit dem entsprechenden Code geben?
BlackJack

@Padidem: Aber das sind doch *Deine* Hausaufgaben. 8)
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

Das stimmt aber laut dem Dozenten sind Anfragen über Foren erlaubt :D
Sirius3
User
Beiträge: 17830
Registriert: Sonntag 21. Oktober 2012, 17:20

@Padidem: aber bestimmt nicht Musterlösungen. Wenn Du fremde Lösungen als Deine eigene ausgibst, dann wäre das ein Plagiat und eine Urheberrechtsverletzung. Wenn Du Dir damit eine Leistung erschleichst, sogar Betrug.
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

das weiß ich....Codes von Dritten muss auch zitiert werden heißt es in der Aufgabenstellung :wink:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich glaube aber nicht, dass Dir jemand solchen Code schreiben wird... dazu sind da zu viele Abhängigkeiten drin und es ist nicht so wirklich spannend... außer vielleicht in anderen Sprachen :twisted:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

Wobei „in anderen Sprachen” ja der Haupteil wohl auch in SQL ausgedrückt werden würde. Obwohl, naja dieses LINQ oder wie das heisst, bei C#… :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

LINQ2SQL ist leider "deprecated" :-(
Aber LINQ an sich wird ja in den diversen .NET-ORMs dennoch benutzt bzw. nutzbar gemacht :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Padidem
User
Beiträge: 63
Registriert: Donnerstag 8. Januar 2015, 14:52

ich muss nochmal nachhaken:

wie berechnet man die differenz von zwei Summen innerhalb einer SELECT Abfrage ?
BlackJack

@Padidem: In dem man die Summen voneinander abzieht‽
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: 17830
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: 17830
Registriert: Sonntag 21. Oktober 2012, 17:20

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