PostgreSQLでは、通常以下のように書くクエリを短縮して書くことができる。
1 2 3 4 5 | SELECT request_month, COUNT (*) FROM access_log GROUP BY request_month ORDER BY request_month ; |
これはGROUP BY句で月ごとのアクセス数を集計し、ORDER BY句で月順に並べ替えをおこなうクエリだが、以下のように書いても全く同じ結果が得られる。
1 2 3 4 5 | SELECT request_month, COUNT (*) FROM access_log GROUP BY 1 ORDER BY 1 ; |
「1」は1番目のカラムであるrequest_monthを表しており、このようにカラムの列番をGROUP BYやORDER BYに指定することで、コード量を減らすことができるのだ。
ただし多用しすぎると、後からコードを見たときに直感的に意味がわかりづらくなってしまうので、その場限りのクエリを書く場合に限りオススメされる方法だ。