SQLの書き方がわからんですよ
2006/6/7 [17:46:41] (水) 

データベース、というか、SQL文、というか、postgresql というか…手ごわいなぁ。まだまだよくわからんですよ。
重複を除いて並べ替えたい、というだけのことがよくわからんのだ。
メモ
$sql = "select * from (select distinct on (title) * from $blTABLE) as temp where read=’t’ order by $order_by offset $pos limit $view";
タイトルの重複を除いて、既読本並べ替える。というのだけど、postgresql の場合、distinct の効率はよくない、らしい。スピードが落ちるらしいんで調べて group by がいいらしいんだけど、どうやって使うのか。
おまけに、上のSQL文って副問い合わせとやら。一度select文でデータを全部なめた結果に対してさらにselectして並べ替え…selectを2回も発行してるんだけど、こういうのも効率が悪い、らしい。
うううむ。ルールとやらで別テーブルを作っておくか、とも思ったんだけど、それもまたどうだろ、と。
難しいです。
| << | 2026/3 | >> | ||||
|---|---|---|---|---|---|---|
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
【最近の10件】


