[MySQL] Subselect en Max()

Pagina: 1
Acties:
  • 132 views sinds 30-01-2008

  • Nariman
  • Registratie: November 2001
  • Laatst online: 31-01-2024
Hoi mensen,

Ik zit met volgende probleem:

Ik werk op MySQL en ik wil de laatste regel van de tabel selecteren. In Interbase en meest andere database zou je het volgende query moeten gebruiken:
SELECT *
FROM table
where rowid = (select max(rowid)
from table)
Kan iemand dat voor MySQL herschrijven?

TNX ;)

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
Mysql ondersteunt pas subselects onder versie 4 (http://www.mysql.com/doc/en/ANSI_diff_Sub-selects.html).
JOIN is maybe een oplossing hier...

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 09:55

Creepy

Tactical Espionage Splatterer

Herschrijven? Tuurlijk kan dat, alleen is dat niet de bedoeling hier. Als je kant en klare code wilt hebben zit je hier verkeerd.

Vraagje, WAAROM wil je de laatste regel van je tabel hebben en waarom denk je dat diegene met het hoogste ID de laatste regel van je tabel is (want dat hoeft zeker niet zo te zijn!)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Wits
  • Registratie: Juli 1999
  • Laatst online: 16-01-2023

Wits

fka Witsflow

code:
1
2
[...]
ORDER BY row_id DESC LIMIT 1


Dan krijg je de regel met de hoogste row_id.

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
Idd Creepy. Het hangt van jouw manier van selecteren af welke de laatste rij is. Beter is om alles in een array te stoppen en dan hiervan de laatste kolom te pakken. Deze is dan gelijk aan je laatste rij van jouw select.

  • Nariman
  • Registratie: November 2001
  • Laatst online: 31-01-2024
Huidige situatie:
Ik wil kleine stukjes tekst in een tabel zetten. Ik geef aan elke stukje dat toegevoegd wordt een rowid mee. En ik wil dat alleen dat stukje tekst dat als laatst togevoegd is weer geven. Dus daarom wil ik de hoogste rowid selecteren.

Maar dat is nu dus opgelost. Ik zit nu ergens anders vast:

Weet iemand ook toevallig hoe je alle rijen behalve de laatste rij kan selecteren?

__________________________________________________________________


Hey Witsflow, tanx man. Hij doet het.

Tof van je. _/-\o_

PS aan reacties zoals "hier zit je verkeerd" heeft niemand wat aan. Forums zijn er om mensen uit hun problemen te helpen.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 09:55

Creepy

Tactical Espionage Splatterer

FlamerX schreef op 30 oktober 2002 @ 22:23:
Idd Creepy. Het hangt van jouw manier van selecteren af welke de laatste rij is. Beter is om alles in een array te stoppen en dan hiervan de laatste kolom te pakken. Deze is dan gelijk aan je laatste rij van jouw select.
Hmm.. dan snap je mijn bedoeling nog niet helemaal ;)
En je oplosing vind ik ook niet helemaal ok.. m.b.v. order by kan je je select zo orderen als je wilt (en dat werd ook al aangegeven hier)

Er zijn IHMO maar weinig redenen om alleen de laatste row op te halen. 1 van die redenen is om het id te achterhalen van een net nieuw toegevoegd record (en dit is lang niet altijd het hoogste id!). En met een extra query je net toegevoegdde id achterhalen is gewoon fout. Wat als iemand anders ook net een nieuw record heeft tegevoegd? Dan krijg je de verkeerde terug. In de programmeertaal die je gebruikt waarvan je query's naar MySQL stuurt is ook altijd een functie te vinden die aan MySQL jouw laatste toegevoegde ID laat zijn.

Topicstarter: als ik er naast zit, dan bij deze alvast mijn excuses.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 09:55

Creepy

Tactical Espionage Splatterer

Nariman schreef op 30 oktober 2002 @ 22:27:
Hey Witsflow, tanx man hij doet het.

Tof van je. _/-\o_

Weet iemand ook toevallig hoe je alle rijen behalve de laatste rij kan selecteren?

PS aan reacties zoals "hier zit je verkeerd" heeft niemand wat aan. Forums zijn er om mensen uit hun problemen te helpen.
Lees de FAQ's van DIT specifieke forum eens door, dan snap je wat ik bedoel. Helpen is goed maar script requests ("wie lost dit ff voor me op" "wie schrijft ff een stukkie code dat") zijn hier NIET toegestaan (en gaan meestal ook vrij snel op slot)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 29-08 03:21

.oisyn

Moderator Devschuur®

Demotivational Speaker

^^^^^^^

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.