これは私のインタビューの質問です。テーブルからインデックスを使用せずにn番目のレコードを取得する方法は?
EX:テーブルに100個のレコードがあり、その間に20個のレコードが削除されました。今は95レコードを取得したいと思います。
にid = 95テーブル名SELECT * FROMのように私はこの答えに再生
。
彼は間違っていて、インデックスを使用しないと言った。
このようなことが可能ですか?
はいの場合クエリを書き込む方法は? 注: 1)インデックスを使用しないでください。
これは私のインタビューの質問です。テーブルからインデックスを使用せずにn番目のレコードを取得する方法は?
EX:テーブルに100個のレコードがあり、その間に20個のレコードが削除されました。今は95レコードを取得したいと思います。
にid = 95テーブル名SELECT * FROMのように私はこの答えに再生
。
彼は間違っていて、インデックスを使用しないと言った。
このようなことが可能ですか?
はいの場合クエリを書き込む方法は? 注: 1)インデックスを使用しないでください。
'SELECT * FROM table ORDER BY 'id' OFFSET 95 LIMIT 1'
おそらく面接者が待っていた回答だったでしょうか。
ORDER BY句がないと、OFFSETとLIMITは無意味です。 – Strawberry
OFFSETはORDER BY句でのみ使用できます。 –
'ORDER BY id OFFSET 95 LIMIT 1'? – Strawberry
'"テーブルには100個のレコードがあり、20個のレコードが削除されました "" - これは現在テーブルに80個のレコードしかないとは限りませんか?だから、「95位」のレコードはありませんか?インタビューの質問自体は不明です。 "95番目のレコードが何であるか、またはそれを見つけるためにどの基準が使用されているのかに関する定義はありません。面接を行っている人もその質問を理解できないようです。 – David
@Strawberry Plz他の人にも役に立つかもしれません。あなたの答えを受け入れることさえできます。ありがとうございます。 –