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

loddarmattheus

Erfahrenes Mitglied
Guten Morgen,

wir haben eine Database (MySQL) mit mehreren tausend Einträgen.
Kann mir bitte jemand sagen, wie ich genau nur jeden zehnten Eintrag auslesen kann?

Besten Dank vorab.
 
Trickse doch etwas rum. Laß dir jeden Eintrag anzeigen , in den bei der ID ,eine 0 vorkommt. So hast du auch jeden 10 Eintrag. Oder besser wäre die durch 10 Teilbar ist,
 
Trickse doch etwas rum. Laß dir jeden Eintrag anzeigen , in den bei der ID ,eine 0 vorkommt. So hast du auch jeden 10 Eintrag. Oder besser wäre die durch 10 Teilbar ist,
genau, sowas in der Art!

Mit "überspringen" ist halt "nicht einlesen" gemeint !!
Wie genau hängt dann ja vlt. auch von der konkreten Tabelle ab, die wir aber nicht kennen!

VG Klaus
 
Wenns wirklich mit SQL sein muss:

Zuerst die Zeilen durchnummerieren und dann nur diejengen nehmen, die durch 10 teilbar sind
SQL:
select
	t2.*
from
	(
		select 
			@row_num := @row_num + 1 as row_num,
			t1.*,
		from 
			my_table t1, 
			(select @row_num := 0) vars
	) t2
where
	mod(t2.row_num, 10) = 0
 
Was Yaslaw schreibt.
Aber muss bei MySQL die Variable nicht erst vorher initialisiert werden? Ich mache normalerweise kein MySQL. Es würde dann vorher ein
SET @row_num:=0;
fehlen.
 
Zuletzt bearbeitet:
Und jetzt verwirre ich wieder alle, und werfe nen Schraubenschlüssel ins Getriebe:
Seit wann garantiert MySQL (oder auch andere DBMS) eine Reihenfolge, wenn man keine ORDER BY angibt?
 
Zurück