1

データベースから特定の基準を満たす 10 行のデータを取得しようとしています。データベースに登録されている最初の 10 人のユーザーにコースを受講させようとしていますが、データベースからコースを受講しているユーザーの総数も取得したいと考えています。limit を使用して 10 人のユーザーのみを返すことはわかっていますが、コースを受講しているユーザーの総数を取得するために 2 つのクエリを実行しないようにする方法はありますか。私の現在のクエリは以下です。

SELECT * FROM users, user_courses 
WHERE users.id = user_courses.user_id AND user_courses.CRN = '$CRN'
4

3 に答える 3

1

UNION ステートメントを使用できます。

SELECT users.id FROM users, user_courses 
WHERE users.id = user_courses.user_id AND user_courses.CRN = '$CRN' LIMIT 10
UNION SELECT count(*) FROM USERS ...
于 2013-07-22T08:13:18.833 に答える
0
select @max,result.* from (
SELECT @sno:=@sno+1 ,users.*,user_courses.*   FROM users, user_courses ,(select @sno:=0) as initSno 
WHERE users.id = user_courses.user_id AND user_courses.CRN = '$CRN'
)  result,(select @max:=max(@sno)) as maxNo 
于 2013-07-22T08:33:29.630 に答える