2017-07-03 2 views
0

Zum Beispiel, wenn ich 150 Telefonnummern in der Tabelle phone_numbers speichern. Wie gehe ich beim Abrufen der Zeilennummer mit 555-555-5555 vor? Ich habe viele verschiedene Abfragen ausgecheckt, aber anscheinend muss ich alle Daten durchlaufen, um sie zu finden.SQL: So erhalten Sie die Zeilenanzahl eines bestimmten Datensatzes

+1

Mögliche Duplikat [SQLite erhalten ROWID] (https://stackoverflow.com/questions/15570096/sqlite-get-rowid) –

+0

Obwohl ich unten eine Antwort angeboten habe, glaube ich, dass ich beim erneuten Lesen der Frage vielleicht missverstanden habe, was Sie fragen. Was genau meinen Sie mit "Zeilennummer" und wie wird es verwendet? Beachten Sie, dass relationale Datenbanktabellen konzeptionell nicht Arrays, sondern Sätze sind. – varro

Antwort

0

Verwenden Sie die ROW_NUMBER() Funktion ... verwenden, um die SQL-API-Definition mehr über die Funktion

Viel Glück

EDIT wissen:

Beispiel eine Tabelle 'testtable' genannt haben, und Spalte ‚TestID‘ und eine Spalte mit dem Namen ‚Testname‘ genannt

SELECT testId , tesName, (
    SELECT COUNT(*) FROM testTable AS a 
      WHERE a.testName <= b.Name) AS row_Num 
      FROM testTable AS b 
    ORDER BY testName, testId; 

ich hoffe, ich bin dieses Mal richtig

Dank und lassen Sie mich bitte wissen, ob es funktioniert oder nicht Ich versuche mein Bestes

+0

SQLite unterstützt die Zeilennummer AFAIK nicht. –

+0

Update Antwort bitte überprüfen Sie die Antwort jetzt =) und entschuldigen Sie nicht Ihre fragen sqlite @ Weakman10122 – Abdullah

0

Versuchen:

SELECT rowid FROM phone_numbers WHERE number ='555-555-5555'; 
+0

Vielen Dank für dieses Code-Snippet, das einige unmittelbare Hilfe bieten kann. Eine gute Erklärung würde den pädagogischen Wert [erheblich verbessern] (https://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) verbessern, indem es zeigt, warum dies eine gute Lösung für das Problem ist und würde Machen Sie es zukünftigen Lesern mit ähnlichen, aber nicht identischen Fragen nützlicher. Bitte bearbeiten Sie Ihre Antwort, um eine Erläuterung hinzuzufügen, und geben Sie an, welche Einschränkungen und Annahmen gelten. – basvk

Verwandte Themen