PostgreSQL 2テーブル ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
195:nobodyさん 03/05/27 17:46 dZ0fIA92 次のようなテーブルがあるとして、思ったような 操作ができずに困っています。どなたかよい方法を ご存知の片がおられましたら、教えてください。よろしくお願いします。 下のようなテーブルがあったとします。 Id name point date 1 あ 5 5月1日 2 い 1 5月16日 3 う 22 5月5日 4 え 0 5月27日 5 お 10 5月26日 このテーブルから、例えば本日が5月27日だとすると 本日から3日以内のdateのものを優先的に取得し、 そのレコードより後ろに、それ以外のデータを pointの降順で並べたいのです。 196:195の続き 03/05/27 17:46 dZ0fIA92 つまり上の例からSQL文で取得した結果を id name point date 4 え 0 5月27日 (3日以内のものが上にきている) 5 お 10 5月26日 (3日以内) 3 う 22 5月5日 (↓それ以外はpointの降順) 1 あ 5 5月1日 2 い 1 5月16日 という風にしたいのです。しかし、SQL文が思いつきません。 select * from ( (select * from テーブル名 where (検索条件) and dateが3日以内 ) UNION (select * from テーブル名 where (検索条件) ) ) order by date desc , point desc; のようにしても、dateの降順になるだけでした。 (検索条件)というのは今回ある条件でレコードを引っ張ってくるので その条件のことなのですが、これは非常に処理が重く なんとか1回ですませられないかとも思っています。 長文になってしまいましたが、アドバイスをよろしくおねがいします。 あつかましくてすみません・・・
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5395日前に更新/193 KB
担当:undef