Jak seradit v PG 7.x

otakarek na post.cz otakarek na post.cz
Úterý Prosinec 3 14:25:01 CET 2002


Mam dotaz napr.:
SELECT * FROM xyz WHERE id IN (15,18,4,47,2)
A potrebuji napsat ORDER BY tak, aby vysledky byly serazeny
presne tak jak je v podmince SQL dotazu (tj. v poradi id
15,18,4,47,2). Jedine co me napada je psani sloziteho:
SELECT *,(CASE WHEN id=15 THEN 1 ELSE WHEN id=18 THEN 2 ELSE id=4
THEN 3 ....) AS _sort_by FROM xyz WHERE id IN (15,18,4,47,2)
ORDER BY _sort_by Za prve mi to prijde neefektivni a za druhe
prijdu o index-seqscan.

V dokumentaci k PG, kde bych to ocekaval, to neni (viz.
http://www.postgresql.org/idocs/index.php?queries-order.html)

Diky

Karel Splichal

-- 
---
Výhodné ceny letenek najdete vždy na http://letenky.volny.cz



Další informace o konferenci Test