sqliteで先頭のデータを取得するには?

sqliteで先頭のデータを取得するにはどうしたらよいのかを紹介します。

※注意 – 自分なりのやり方ですので他に正しいやり方があるかもしれません。

sqliteで先頭の要素という概念は捨てるようにする

sqliteはデータベースであって、ほかのプログラグミング言語のような配列やリストではないことをまずは理解しておく必要があります。

例えば python のリストの先頭要素にアクセスするときは、インデックス番号を指定してアクセスするかと思います。

ary = ["hoge", "fuga", "fugafuga"]
print(ary[0]) #hoge

sqlの場合は先頭要素を指定するのではなくて、条件式や取得する件数を制限したりしてデータの絞り込みを行います。

sqliteの条件式 where を使う

sqliteではカラムのデータが〇〇〇のものだけを取得するといったことができます。

select * from users where gender = 'man'

このようにすればgenderがmanのデータだけを取得することができます。このうでLimitを使用すれば、先頭のデータだけを取得することができます。

where式を使ってidが1のものを取得しても望んだ結果が得られるかもしれませんが、必ずしもidが1のものが先頭のデータとは限らないでしょう。

select * from users where id = 1

sqliteの limit を使って最初のデータだけを取得する

以下のようにlimit式を使えば最初の1件だけを取得することができます。

select * from users where gender = 'man' limit 1

Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 49

Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 78