2016-10-23 10 views
0

内部結合を使用してイメージテーブルから行を選択して開始するには、制限をSQLで開始するにはどうすればよいですか?私は以下を試した。私は画像テーブルから限られた画像を選択したい。内部結合、開始および制限SQLで選択

SELECT * 
FROM images 
JOIN users ON images.users_user_id = users.user_id 
LIMIT 3,5 
ORDER BY image_created DESC 
+0

http://dev.mysql.com/doc/refman/5.7/en/select.html –

答えて

1

私はうまく動作しました。

SELECT images.image_id, images.image_url, users.user_name 
    FROM (SELECT * FROM images LIMIT 0, 6) images 
    INNER JOIN users 
    ON images.users_user_id = users.user_id 
ORDER BY image_created DESC 
+0

サブクエリに理由がないと思います。 –

0

私は認識しませんSTART。私はまた、クエリにテーブルの別名を追加

SELECT * 
FROM images i INNER JOIN 
    users u 
    ON i.users_user_id = u.user_id 
ORDER BY i.image_created DESC 
LIMIT 5 OFFSET 3; 

お知らせ:OFFSETを使用する必要がありますキーワードです。テーブル全体でselect *を使用せず、実際に必要な列を選択するようアドバイスします(原則として)。

+0

'OFFSET/LIMIT'はORDER BY''の前に使用することはできますか? –

+0

この例では構文エラーが発生します。 –

+0

[documentation](http://dev.mysql.com/doc/refman/5.7/en/select.html)に従って正しい構文は 'ORDER BY ... LIMIT 5 OFFSET 3'です。 3行目から始める場合は、「OFFSET 2」(最初の2行をスキップ)を使用する必要があります。 –

関連する問題