【发布时间】:2012-01-12 10:06:37
【问题描述】:
我尝试获取“n”个日期低于某个选定日期的条目和“n”个日期“高于”一个选定日期的条目。
示例数据库:(按就业日期排序)
id | employment_date | name
-------------------------------
23 | 1980-01-11 | peter
21 | 1980-09-02 | sandra
34 | 1982-04-12 | steven
4 | 1982-06-14 | claudia
45 | 1983-10-12 | chuck
56 | 1984-03-16 | bob
1 | 1987-03-23 | kevin
所以我想要显示克劳迪娅,然后显示在她之前就业的“n”个人和在她之后就业的“n”个人。 “n”为 2,对于 claudia,我想要:sandra,steven,claudia,chuck,bob。
当然我可以只做两个查询,但由于我必须对接给定的数据提供者结构,我不得不在一个简单的查询中完成,只能使用 Select, Join/Left Join/Inner Join、From、Where、Group By、Order By和Limit。 最好没有子查询。
顺便说一下,id 不是连续的。
有什么想法吗?
【问题讨论】:
-
在你的例子中不是
Sandra而不是Peter吗? -
哦,我总是把 sandra 和 peter 混在一起。他们长得很像;D