Datenbankabfrage - genau jeder zehnte Eintrag mittels select ausgeben...

Das mit den Zeilen durchnummerieren und dann die durch 10 teilbaren Einträge auswählen probier ich mal aus. Dummerweise sind die Datensätze noch nicht durchnummeriert, sondern sind durch den Timestamp "unique".

Unbenannt-1.jpg

Ich hatte schon daran gedacht, mit der where time like '00' zu arbeiten, aber da fallen auch die 5 Minuten Datensätze drunter.
 
Moin,

Du könntest doch alle Datensätze mit einem zusätzlichen AutoIncrement in eine neue Tabelle schreiben und Dich dann am AutoIncrement orientieren ...

VG Klaus
 
Zuerst die Zeilen durchnummerieren und dann nur diejengen nehmen, die durch 10 teilbar sind
Ich habe gerade auch mal gegoogelt und das scheint die weitesgehend akzeptierte Lösung zu sein. Ich frage mich gerade, ob das DBMS das Bilden der inneren Tabelle + Restbildung zu einer simplen picke-jede-zehnte-Zeile-Schleife optimiert.
 
Einfach noch nach Zeit sortieren. Ich mach mal absteigend (desc)
SQL:
select
	t2.*
from
	(
		select 
			@row_num := @row_num + 1 as row_num,
			t1.*
		from 
			my_table t1, 
			(select @row_num := 0) vars
		order by
			t1.zeit desc
	) t2
where
	mod(t2.row_num, 10) = 0
 
Zurück