Thread Order by bei JOIN's (14 answers)
Opened by Froschpopo at 2007-05-08 21:44

pq
 2007-05-09 12:02
#35451 #35451
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
wenn man ein GROUP BY macht, bezieht sich das ORDER BY auf die gruppierten daten!
also das ORDER BY passiert zu spät. es geht so nicht.
und im WHERE clause kann man nicht auf aggregate zugreifen, dafür gibt es das
HAVING, das passiert aber wiederum (eben deswegen) erst nach der gruppierung.
der punkt ist, dass man der datenbank nicht sagen kann, gruppiere mit folgenden
regeln, z.b. gruppiere bei foto.id immer die höchste id. keine ahnung, ob das nur
bei MySQL so ist oder auch bei anderen datenbanken, aber ich denke schon; ich
kenne auch keine sql-syntax, die sowas bieten würde.
du musst also erst jeweils die max(id) holen und dann in einem zweiten select die
fotos selektieren. evtl. geht das ja mit einem subselect.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Order by bei JOIN's