トップ 最新 追記

ほげほげ日記

2012|05|
2013|05|06|08|

2012-05-29 PostgreSQL ORDER BY の順番を一部だけ入れ替えるには

_ ORDER BY だと ASC か DESCのみ。だけどお客さんによっては、「この項目は先頭に持ってきてほしい」などというもの。

たとえばIDが1,2,3,4と並んでいるHogeというテーブルがある。

SELECT ID FROM Hoge ORDER BY IDとすると

1,2,3,4,5,6・・・・となるけど、100を頭に、他のを順に並べたいときは

SELECT ID FROM Hoge ORDER BY CASE WHEN ID=100 THEN 0 ELSE ID END;

と書くと、

100,1,2,3,4,5,6・・・と並んでくれる。

CASEを増やせば複数個にも対応できるけど、そうまでするならテーブル構造見直した方がよいと思うよ。

本日のツッコミ(全100件) [ツッコミを入れる]

Before...

_ Crazyivan [Could you ask him to call me? <a href=" http://www.meridia..]

_ Isaiah [International directory enquiries <a href=" http://www.mer..]

_ Benny [Nice to meet you <a href=" http://www.meridianwest.co.uk/t..]


トップ 最新 追記