我有一个表employee_tbl,其中包含以下数据:
emp_no,date_posted
1,2014,08,01
1,2014,08,02
3,2014,08,01
3,2014,08,02
5,2014,08,01
5,2014,08,02
我想选择日期介于2014,08,01和1,2014,08,03之间的员工数据 所以我会得到他们所有。
1,2014,08,01
1,2014,08,02
3,2014,08,01
3,2014,08,02
5,2014,08,01
5,2014,08,02
但我只想让员工拥有这样的最新日期
1,2014,08,02
3,2014,08,02
5,2014,08,02
我将如何查询这个?
答案 0 :(得分:0)
请指定您正在使用的查询。
我认为您正在使用sqlLite 然后使用这个
SELECT date_posted,emp_no FROM employee_tbl WHERE date_posted is between 2014,08,01 and 2014,08,03 ORDER BY date_posted LIMIT 1;
答案 1 :(得分:0)
要过滤掉包含不需要日期的行,请使用常规比较(>=
,<=
)或BETWEEN。
要为列中的每个不同值获取一个输出行,请使用GROUP BY。
要获得每组中的最大值,请使用MAX:
SELECT emp_no,
MAX(date_posted)
FROM employee_tbl
WHERE date_posted BETWEEN '2014,08,01' AND '2014,08,03'
GROUP BY emp_no