ユーザーの最初の 40 リストを取得するための sql クエリがあります。そのリストで常に 1 人のユーザーを取得したいです。ユーザー ID を制限付きで指定するクエリのメソッドはありますか
5 に答える
5
私が考えることができる最良の方法は次のとおりです。
SELECT * FROM tbl WHERE userid='your-user-id' UNION SELECT * FROM tbl WHERE userid!='your-user-id' LIMIT 39
基本的に、ユーザーを選択してから、他の 39 人を選択します。UNION を使用して、2 つの SELECT 結果を結合します。
于 2012-07-09T08:40:02.050 に答える
1
SELECT
*
FROM
`users`
WHERE
`user_id` != 12345
LIMIT 39
UNION SELECT
*
FROM
`users`
WHERE
`user_id` = 12345
ORDER BY `user_id`
;
これにより、最初の 39 ユーザー + user_id=12345 のユーザーが得られます。
于 2012-07-09T08:42:38.690 に答える
0
私はそれがあるだろうと思います
(SELECT * from users limit 39)
UNION ALL
(SELECT * from users where userid='your-user-id')
于 2012-07-09T08:33:11.983 に答える
0
Select * from table order by userd_id limit 40
于 2012-07-09T08:33:53.983 に答える
0
ほとんどのオプションはすでに提供されているため、これが役立つかどうかを確認してください
select name from user_details where id = user_id || id != user_id order by field (id,user_id) desc limit 40;
これにより、結果を組み合わせることができます。必要に応じて、指定したユーザー ID が常に一番上に表示されます。
于 2012-07-09T10:44:33.597 に答える