Wie kann ich eine Datenbank abfragen, um eine Tabelle mit Daten mit zwei verschiedenen IDs anzuzeigen, aber jede ID pro Zeile wechseln und dennoch nach Zeit sortieren? Beispielsweise. Datenbank hat 10 Elemente von ID1 und 10 Elemente von ID2.
Ich muss es sein:
%Vor%Irgendwelche Ideen?
UPDATE: Die Anzahl der IDs muss von eins bis n verschieden sein und ich versuche auch, dies über die SQLite.query () -Methode zu tun.
UPDATE 2: Die # Daten repräsentieren Spalten von Daten in dieser Zeile, nicht nur eine, so könnte es zum Beispiel 5 Spalten geben. Außerdem müssen die Daten über einen Cursor zurückgegeben werden.
UPDATE 3: Weitere Ausführungen, unten sind eine Tabelle und ein erwartetes Ergebnis, das ich erreichen möchte.
Die Eingabetabelle (nach Uhrzeit sortiert) ..
%Vor%Und die Ausgabe: Notiz, ich muss die IDs innerhalb der Datenbank wechseln, wo es möglich ist, und trotzdem das Ganze nach Zeit sortieren, zum Beispiel:
%Vor%UPDATE 4: Bevorzugen Sie eine sehr einfache Lösung wie eine komplexe, aber saubere SQL-Abfrage usw. UPDATE 5: Trotz der Tatsache, dass das Kopfgeld weggegeben werden muss, wurde diese Frage immer noch nicht mit einer einfachen Lösung beantwortet, um das zu tun, was ich wünsche.
Ich hoffe, ich habe Ihre Frage richtig verstanden.
Ausgabe für zufällige Daten:
%Vor%Vergessen Sie nicht, Indizes zu verwenden.
Versuchen Sie Folgendes:
1. Erstellen Sie SELECT-Anweisungen für beide Mengen (Artikel mit ID1 und Artikel mit ID2)
2. Verwenden Sie ORDER BY innerhalb dieser Anweisungen für die Zeit / IDx-Bestellung
3. Fügen Sie eine Spalte hinzu
Update: Das war eher für zwei Tabellen gedacht; nachdem ich mir die obigen Beispiel-Updates angeschaut und einige Dinge versucht habe, ist es ziemlich schwierig, das in einem einzigen SQL (mit SQLite) zu programmieren
Die einzige Lösung, die ich gefunden habe, dass Sie zwei Abfragen durchführen
Erste Abfrage nach den Daten sortiert nach ID und Datum
%Vor% Und dann fragen Sie die verschiedenen IDs, die Sie haben, speichern Sie es in einem Array, nennen wir es idsArray
Lies alle Ergebnisse der ersten Anfrage in eine Queue: Pseudocode:
%Vor%Diese Abfrage funktioniert, wenn die gleiche ID möglicherweise nicht die gleiche Zeit haben kann.
%Vor%rownumber calc von Höflichkeit
Ich versuche nur, jeder Zeile in der Tabelle einen Gewichtungsfaktor zuzuweisen.
Ihre Daten scheinen sehr schlecht organisiert zu sein. Wenn Sie mehrere Tabellen scheinbar identischer Daten haben, die sich nur im Typ unterscheiden, sollten die Daten stattdessen in einer Tabelle mit einer Typspalte gespeichert werden.
Betrachten Sie das Einchecken von Tabellen (id, user, datetime) und das Auschecken von Tabellen (id, user, datetime), die mit checkinout (id, user, datetime, inorout) zusammengeführt werden könnten.
Wenn die Daten optimal strukturiert sind, werden die zu bearbeitenden Abfragen viel einfacher zu gestalten sein.
Siehe auch jedes Tutorial zur Normalisierung oder Ссылка