Sorteirung mit WHERE .. IN (...)
Sorteirung mit WHERE .. IN (...)
am 14.04.2006 18:04:39 von sk
Hi,
Ich habe n Datensätze mit z.B int id,char txt
id ist PK.
jetzt möchte ich:
SELECT txt FROM superwichtig WHERE id IN (2000,5,10000,3,9)
nur soll das Ergebnis in der Reihenfolge
2000,5,10000,3,9 sein. Also genau wie beim IN Parameter.
z.Z. mach ich 5 mal SELECT ... WHERE id=liste
Jemand eine Idee wie das performanter mit Mysql 5.0 geht?
Danke Jörg
Re: Sorteirung mit WHERE .. IN (...)
am 14.04.2006 18:35:53 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Sorteirung mit WHERE .. IN (...)
am 14.04.2006 18:47:38 von Thomas Rachel
Jörg Singendonk wrote:
> jetzt möchte ich:
> SELECT txt FROM superwichtig WHERE id IN (2000,5,10000,3,9)
ganz spontan - allerdings 4.x:
CREATE TEMPORARY TABLE sort (lfd int auto_increment primary key, id int
unique);
Insert into sort (id) values (2000),(5),(10000),(3),(9);
select ... from superwichtig JOIN sort using (id) order by lfd;
> Jemand eine Idee wie das performanter mit Mysql 5.0 geht?
In 5.0 könnte es mit Stored Procedures gehen, aber damit kenne ich mich
nicht aus.
Thomas
--
"If you're killed in the Matrix, you die here?"
"The body cannot live without the mind."
Neo and Morpheus, "The Matrix"
Re: Sorteirung mit WHERE .. IN (...)
am 18.04.2006 19:52:14 von jochen-usenet
* you wrote:
>
> jetzt möchte ich:
> SELECT txt FROM superwichtig WHERE id IN (2000,5,10000,3,9)
>
> nur soll das Ergebnis in der Reihenfolge
> 2000,5,10000,3,9 sein. Also genau wie beim IN Parameter.
>
> z.Z. mach ich 5 mal SELECT ... WHERE id=liste
>
> Jemand eine Idee wie das performanter mit Mysql 5.0 geht?
SELECT txt FROM superwichtig WHERE id IN (2000,5,10000,3,9)
ORDER BY FIELD(id, 2000, 5, 10000, 3, 9)
jochen