以下のようなテーブルからユーザーの年齢層を調べるため、各ユーザーが10歳区切りのどの年齢層に属するかを調べるクエリを紹介する。
整数除算の特性を利用する
まず、SQLにおける整数同士の除算は小数や余りが切り捨てられるという特性を持っている。
これを利用すると以下のクエリで年齢の1の桁を除外し、29歳なら20代、42歳なら40代といった年齢層に変換することができる。
SELECT customer_name, customer_age / 10 * 10
FROM customers
;
一度、年齢を10で除算することで小数部分が除外され、さらに10を掛けることで元の2桁へ戻している。
このクエリを実行すると、ユーザーごとの年齢層として以下の結果を得ることができる。