使用两个不同的LIMIT子句,我是否需要使用UNION语句返回相同的数据集?

时间:2018-08-25 20:32:41

标签: mysql

我正在尝试为表中的某些行获取完全相同的数据集,并将其显示在我网站的分页部分上。

我想在每个查询(employees)中获得LIMIT 1表中的第一行,但还要获得第二条LIMIT子句所规定的行范围。我一直在使用UNION ALL来实现这一点,即使该查询比到目前为止我在我的网站上使用的其他查询明显慢(〜.017s),该方法仍然有效。我当然是SQL的新手,所以我的查询对我来说似乎也是重复的。

是否有更好(也许更快)的方法来完成此任务?如果可能的话,我希望使用一个查询。

(SELECT employee_name, employee_email, COUNT(reputation_id) as employee_rep
FROM employees
    LEFT JOIN reputation rep
        ON employee_id = rep.employee_id
WHERE employee_title = 'intern'
LIMIT 1)
UNION ALL
(SELECT employee_name, employee_email, COUNT(reputation_id) as employee_rep
FROM employees
    LEFT JOIN reputation rep
        ON employee_id = rep.employee_id
WHERE employee_title = 'intern'
GROUP BY employee_id
ORDER BY employee_date ASC
LIMIT 10, 5)

我想要的输出将是这样的:

  • 第1页:显​​示第一个实习生,然后显示2-10个实习生
  • 第2页:显示第一个实习生,然后显示实习生11-20

0 个答案:

没有答案