这是我运行的查询
SELECT cl.cl_id, cc_rego, cc_model, cl_dateIn, cl_dateOut
FROM courtesycar cc LEFT JOIN courtesyloan cl
ON cc.cc_id = cl.cc_id
结果:
1 NXI955 Prado 2013-10-24 11:48:38无效
2 RJI603阿瓦隆2013-10-24 11:48:42 2013-10-24 11:54:18
3 RJI603 Avalon 2013-10-24 12:01:40空
我想要的结果是按
cc_rego
值分组并打印最新的cl_dateIn
值。(仅显示第1、3行)我试过在date和group by子句中使用MAX,但它将第2和第3行组合在一起,显示了
dateIn
和dateOut
的最高值。 最佳答案
我解决了这个问题。
我没有使用left join,而是在where子句中添加了一个条件,该条件嵌入到dateIn的MAX
SELECT cll.cl_id, cc.cc_id, cc_rego, cc_model, cll.cl_dateIn, cll.cl_dateOut
FROM courtesycar cc, courtesyloan cll
WHERE cl_dateIn = (
SELECT MAX( cl.cl_dateIn )
FROM courtesyloan cl
WHERE cl.cc_id = cc.cc_id )
AND cc.cc_id = cll.cc_id