Toon posts:

[sql] select without first result row

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

ik heb een tabel:

tabel:
id = int(10)
timestamp = int(20)
naam=char(100)

en de query: SELECT * FROM tabel ORDER BY timestamp DESC

deze geeft dus een resultset terug (als ik hem in php gebruik) met als 1e de rij met de nieuwste timestamp nu wil ik alle rijen hebben behalve deze 1e rij (ik wil dus alle rijen hebben uit de tabel behalve de nieuwste

nu heb ik geprobeerd met LIMIT te werken in de query maar dan wil ik dus
SELECT * FROM tabel ORDER BY timestamp DESC LIMIT 1, oneindig gebruiken

heeft iemand een idee hoe dit in sql kan (mysql om precies te zijn)

Verwijderd

Probeer dit eens:

SELECT id, timestap, naam FROM tabel WHERE timestamp < MAX(timestamp) ORDER BY timestamp DESC

Hij geeft dan alle records weer waarvan de timestamp kleiner is dan de grootste (nieuwste) timestamp.

[ Voor 10% gewijzigd door Verwijderd op 22-04-2004 18:58 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
MySQL kan het niet zomaar met een LIMIT clause. Een mogelijke hack is om een willekeurig groot getal als bovengrens te specificeren ("LIMIT 1, 4611686018427387904") of in de applicatie de eerste regel over te slaan.

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
of LIMIT 1,-1

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
Verrek, dat werkt zowaar. Ik heb nog in de manual gekeken (hier, om precies te zijn) maar daar staat niets over -1 als speciale waarde ofzo. Dit is natuurlijk wel een mooie oplossing.

Verwijderd

Topicstarter
Soultaker schreef op 22 april 2004 @ 20:33:
MySQL kan het niet zomaar met een LIMIT clause. Een mogelijke hack is om een willekeurig groot getal als bovengrens te specificeren ("LIMIT 1, 4611686018427387904") of in de applicatie de eerste regel over te slaan.
Ja hier zat ik ook al aan te denken maarja dat is natuurlijk niet erg netjes...

de limit 1,-1 werk

bedankt

het is dus:
SELECT * FROM tabel ORDER BY timestamp DESC LIMIT 1, -1

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
Soultaker schreef op 22 april 2004 @ 21:23:
Verrek, dat werkt zowaar. Ik heb nog in de manual gekeken (hier, om precies te zijn) maar daar staat niets over -1 als speciale waarde ofzo. Dit is natuurlijk wel een mooie oplossing.
In mij manual (de chm versie) staat toch echt
To retrieve all rows from a certain offset upto the end of the result set, you can use -1 for the second parameter:
mysql> SELECT * FROM table LIMIT 95,-1; # Retrieve rows 96-last.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
Mja, dan heb jij een andere handleiding. Op de website van MySQL zelf staat echt deze oplossing:
For compatibility with PostgreSQL, MySQL also supports the LIMIT row_count OFFSET offset syntax. To retrieve all rows from a certain offset up to the end of the result set, you can use some large number for the second parameter. This statement retrieves all rows from the 96th row to the last:

mysql> SELECT * FROM table LIMIT 95,18446744073709551615;
Ik denk dat ze hun manual niet op orde hebben, want dit is natuurlijk een lompe hack vergeleken met de 'echte' oplossing.

Verwijderd

Topicstarter
Soultaker schreef op 22 april 2004 @ 21:48:
Mja, dan heb jij een andere handleiding. Op de website van MySQL zelf staat echt deze oplossing:

[...]

Ik denk dat ze hun manual niet op orde hebben, want dit is natuurlijk een lompe hack vergeleken met de 'echte' oplossing.
ja idd dit is wel een smerige oplossing. in de parktijk kom je nooit aan dat hoge getal maar het is niet netjes. maar zoals ik al zei met -1 is het opgelost

dit toppic kan dus dicht..

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 23 april 2004 @ 00:54:
[...]

ja idd dit is wel een smerige oplossing. in de parktijk kom je nooit aan dat hoge getal maar het is niet netjes. maar zoals ik al zei met -1 is het opgelost

dit toppic kan dus dicht..
Nee dat kan ie niet :) Alleen 'slechte' topics worden gesloten, een topic als deze blijft openstaan zodat ie tot in lengte van dagen mensen kan blijven helpen met vergelijkbare problemen die ze in onze machtige search opzoeken ;)

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 23 april 2004 @ 00:57:
[...]

Nee dat kan ie niet :) Alleen 'slechte' topics worden gesloten, een topic als deze blijft openstaan zodat ie tot in lengte van dagen mensen kan blijven helpen met vergelijkbare problemen die ze in onze machtige search opzoeken ;)
[offtopic]
ok prima
ps. de search is zeker machtig, gebruik ik erg vaak (Y)
[/offtopic[
Pagina: 1