开发者

Fetch the top 5 records from 2 tables each using single query

I want to fetch the top 10 records from 2 tables which have id as reference id using single query.

For example, I have student and Student_details tables.

开发者_高级运维

Now I want to fetch top 5 records of student table and top 5 records of Student_details table.


Do you want to have the results from both tables combined in 1 result set?

If so, then use

SELECT student.*, student_details.*
FROM student, student_details
WHERE student.id = student_details.student_id
ORDER BY id ASC LIMIT 5;


SELECT * FROM student ORDER BY id ASC LIMIT 5;
SELECT * FROM student_details ORDER BY id ASC LIMIT 5;


SELECT * FROM STUDENTS ORDER BY ID LIMIT 5


SELECT * FROM table WHERE ... ORDER BY ... DESC/ASC LIMIT 5;

Do it twice.


This is not possible! You could create a temporary table and somehow try to match the fields of one table to match the field of the other if they both have almost the same number of fields - only then you could use a single query to get the top 5 results of both tables using one query. But even then this would lead to more than a single query (because you had to create the temp table first).

The best you can do is to use two queries:

SELECT * FROM student ORDER BY student.id LIMIT 5;
SELECT * FROM student_details ORDER BY student_details.id LIMIT 5;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜