Rang von der SQLite-Tabelle abrufen

8

Angenommen, ich habe eine Tabelle in einer SQL-Datenbank mit zwei Feldern: Name und Alter.

%Vor%

Wie kann ich die Tabelle sqlite für Zek abfragen und feststellen, dass er der älteste ist? Allgemeiner, sagen wir, ich habe Millionen von Namen und Alter und ich möchte einen bestimmten Eintrag abfragen, sagen Name="Juju Bär", und finde den Rang des Eintrags durch ein anderes Feld, z. dass "Juju Bär" ist 133455 (nach Alter).

Danke,

Colorado

    
C. Reed 15.04.2011, 22:20
quelle

2 Antworten

16

Sie können eine Unterabfrage verwenden, um die Anzahl der Personen mit einem höheren Alter zu zählen, wie:

%Vor%     
Andomar 16.04.2011, 09:40
quelle
4

Andomars Antwort ist eine gute, und es sollte fast sicher die ausgewählte Antwort für diese Frage bleiben. Das sagte ...

Ich fand heraus, dass eine komplexe Abfrage, die ich ausführte, schnell unhandlich wurde, als ich versuchte, Andomars Lösung zu beschönigen, also versuchte ich aus Verzweiflung etwas wie den folgenden Code:

%Vor%

Der wichtige Teil ist der Teil "CREATE TABLE ... AS" in der ersten Zeile. Ich hatte geplant, dass dies der erste von ein paar Schritten war, aber zumindest in Firefox's SQLite Manager war ich angenehm überrascht zu sehen, dass das RDBMS einfach eine Indexspalte automatisch hinzufügte, wenn ich meine lächerlich lange Anfrage in eine neue Tabelle entleerte. Diese Spalte verdoppelt sich gut als "Rang" -Spalte.

Ich weiß, dass dies eine wirklich alte Frage ist, daher wird diese Antwort wahrscheinlich keine Upvotes bekommen, aber ich poste sie für den Fall, dass meine persönliche Erfahrung jemandem mit einer ähnlichen Herausforderung helfen kann.

Nochmals vielen Dank an Andomar für die ursprüngliche Antwort - ich kann mir vorstellen, dass es für die meisten Leute die hilfreichsten ist.

    
burpgrass 16.07.2015 16:08
quelle

Tags und Links