BITFOX
Anmeldedatum: 25.12.2007 Beiträge: 2 Wohnort: Essen
|
Verfasst am: 25.12.2007, 20:56 Titel: Probleme mit "RowID" |
|
|
In anderen Datenbanken ist es üblich, eine RowID zu besitzen (z.B. in Oracle): Jede ausgeworfene Zeile erhält also einen Counter.
Gibt es dazu etwas vergleichbares bei mySQL?
Bisher konnte ich nicht wirklich sinnvolles dazu finden - ausser stundenlanges Geschwafel in einigen Foren warum eine RowID sinnlos wäre etc. pp. ...
Der Gedanke ist folgender:
Aus einer Tabelle möchte ich alle Zeilen ausgeben, die in einem bestimmten Zeitbereich $anfang..$ende liegen. Wenn im aktuellen Zeitbereich weniger als z.B. 20 Zeilen ausgeworfen werden, so möchte ich auf 20 Zeilen (ggf. auch aus VOR dem Zeitbereich) auffüllen.
Ich habe gehofft, das Problem mit folgenden Zeilen zu lösen:
| Code: |
SET @counter:=0;
SELECT
id, dt, aufgabe, @counter:=(@counter+1) AS rowid
FROM
`aufgaben`
WHERE
dt<='$ende' AND ( @rowid<20 OR dt>='$anfang' )
ORDER BY
dt
DESC
|
Leider ist das Ergebnis grausam...
Weder erscheinen 20 Einträge,
noch Einträge aus nur einem bestimmten Zeitberei in dem mehr als 20 Einträge existieren.
Und.. nebenbei stören sich parallele Suchanfragen.
Hat vielleicht noch jemand eine zündende Idee? _________________ Du musst nicht allem glauben, nur weil es irgendwo geschrieben steht.
Nicht einmal dem eigenen Wort.
(Albert Einstein)
"...und schon garnicht, wenn's in einem Forum , oder in einem Wiki steht..."
Oliver, 3/2004 |
|