見出し画像

【MySQL】○番目のデータを取ってこよう

テーブル内で○番目を求める方法を見てみましょう。

動画はこちらです。

今回使用するデータはこちらになります。

1 並び替えを行う

並び替えはorder byで行うことができます。

select * from person order by age desc;

次のように並び替えることができました。

2 上位○個を取ってくる

Limitを使っていきます。

select * from person order by age desc limit 5;

下のように特定の数を取ってきました。

これによって、先頭から○個を取ることができました。

3 ○番目を取ってくる

3ー1 Limitだけで行う

次のように行うことで○番目から△個取ってきます。

select * from person order by age desc limit 2, 1;

今回であれば2番目から1個取ってくることで、2番目を求めることができます。

ただ、先頭が0番目からスタートしているので注意が必要です。

3ー2 offsetで開始位置を指定

下のようにoffsetを使うことで同様の結果を得ることができます。

select * from person order by age desc limit 1 offset 2;

offsetは開始位置を表します。

今回も0番目から始まっているので注意が必要です。

4 特定のグループの中での番号を確認する

では最後に、特定のグループの中での何番目などを求めてみましょう。

select * from person where sports_group="red" order by age desc;
select * from person where sports_group="red" order by age desc limit 3;

このように求めることができました。

今回は以上です。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊