ugrás a tartalomhoz

sorozat ellenőrzése

Anonymous · 2005. Jún. 23. (Cs), 19.15
Hogyan lehet kiszűrni egy sorozat hiányzó elemét?
Adott egy mysql tábla, ahol képek vannak, minden képnek van egy sorszáma (nem auto inc), x-y ig, csoportokra bontva, mondjuk 1-es csoport 1-200; 2-es csoport 300-586, stb...
Az adatbázissal dolgozók hibáit szeretném kiszűrni.
Hogyan tudodom megtalálni, ha valaki nem töltötte fel mondjuk a 126-os számú képet?
Elsőre egy for ciklusos lekérdezést gondoltam x-y-ig, de ez nagyon otrombának tűnik nekem.
Köszi!
 
1

Nem értem ezt a csoport

FGK · 2005. Jún. 23. (Cs), 20.56
Nem értem ezt a csoport dolgot...
FGK
2

oké, sikerült

Anonymous · 2005. Jún. 27. (H), 17.07
oké, sikerült túlbonyolítani :))

$elso = 300;
$utolso = 528;

Táblában a tételek sorszámozása 300, 301, 302.....528
Azt szeretném megtudni, hogy az $elso és az $utolso közötti tartományban minden tétel szerepel-e az adatbázisban.
Lehet ez mysql, és nem itt a helye, ezért bocs mindenkitől, de lehet akad egy fügvény, amivel megoldható könnyen.
3

Egyszerű

Bártházi András · 2005. Jún. 27. (H), 17.23

$emlekezet = -1;
foreach ($elemek as $elem) {
  if ($emlekezet != -1 and $elem - $emlekezet != 1) {
    echo "Nem folytonos: $emlekezet -> $elem";
  }
  $emlekezet = $elem;
}
Lehet MySQL-lel is játszani, de az már nem ennyire triviális, meg kell oldani, hogy egymás mellé kerüljön az oszlop saját magával, de egy sorral elcsúsztatva, s ott kell a két oszlop közti különbséget venni.

-boogie-
4

azt még csak le tudod

Anonymous · 2005. Jún. 27. (H), 20.01
azt még csak le tudod ellenőrizni sql-lel, h. minden azonosító bekerült-e a táblába,
SELECT
CASE
WHEN (min( id ) + count( id ) + 1) = max( id )
THEN 'igen'
ELSE 'nem'
END AS minden_ok
FROM my_table


azt is könnyen kiszámolhatod, h. hány azonosító hiányzik,
SELECT max( id ) - ( min( id ) + count( id ) - 1 ) AS hianyzo_azonositok_szama
FROM `my_table`


de nem biztos, h. ezek kisegítenek, mivel így még mindig nem fogod tudni, h. mely azonosítók hiányoznak!

xyz