SQL Abfrage mit bestimmten Intervall

G-S-X

Vice Admiral Special
Mitglied seit
23.08.2002
Beiträge
517
Renomée
7
Hallo,

wie kann ich aus einer Tablle in einem bestimmten Intervall Datensätze auslesen ?

Bsp.
Eine Tabelle mit 100 Datensätzen, und ich will jeden 2 Datensatz auslesen, so das als Ergebnis 50 Datensätze bekomme ?
Kann mir da jemand einen Tip geben ....

Ich mache das im Moment über ein Array, wills aber lieber gleich richtig auslesen.
 
Entweder, falls Du fortlaufende IDs hast, kannst Du ja einfach alle geraden bzw. alle ungeraden rausfischen (wenn die nicht fortlaufend sind, wird es nicht sicher genau halbiert, aber statistisch bekommst Du natürlich auch etwa die Hälfte der Datensätze). Oder Du liest alle aus und verwirfst (innerhalb des PHP- oder wasweißich-Skripts) immer jeden zweiten bzw. nimmst nur die ersten 50 Datensätze (also etwa so, wie Du es wohl jetzt machst).

Aber wozu das gut sein soll *noahnung* Du hast ja keine vernünftig definierte Datenmenge. Sag doch mal, wofür Du das brauchst, vielleicht haben wir ja ne bessere Idee, das zu realisieren.
 
Ich erstelle mir dynamisch Diagramme für Statistiken.

Jetzt habe ich x Datensätzen von Datum A bis Jetzt , will aber in meinem Diagramm nur um die 25 Werte visualisiert haben über diesen Zeitraum um einen Verlauf erkennen zu können.

Jetzt hätte ich halt gerne die Datensätze gleich mit den vorher berechneten Schrittweiten ausgelesen anstatt den Zeiger durch den kompletten Datensatz rennen zu lassen um es dann in der while-schleife über IF Bedingungen und einem eigenen Zähler zu machen.
 
kannst du mal den genauen Aufbau der Tabelle angeben? Die Programmiersprache wäre auch interessant.

Was ähnliches hatte ich auch mal, da konnte man es über group by lösen.
 
Sprache ist PHP:

Tabelle_

ID ( auto_increment ) | benutzer | datum (YYYY-MM-TT HH:MM:SS) | WertA | WertB | WertC |
 
würde ich dann mit Modulo machen, also für

gerade ids:
select * from Tabelle_ where id%2=0;

und für ungerade ids:
select * from Tabelle_ where id%2=1;

je nach DB musst du den % Operator anpassen. Bei MySql müsste es zum Beispiel "select * from Tabelle where mod(id,2)=0" heißen.
 
Zuletzt bearbeitet:
würde ich dann mit Modulo machen, also für

gerade ids:
select * from Tabelle_ where id%2=0;

und für ungerade ids:
select * from Tabelle_ where id%2=1;

je nach DB musst du den % Operator anpassen. Bei MySql müsste es zum Beispiel "select * from Tabelle where mod(id,2)=0" heißen.


Danke, für den Tip ...
 
Zurück
Oben Unten