这是我运行的查询

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行组合在一起,显示了dateIndateOut的最高值。

最佳答案

我解决了这个问题。
我没有使用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

09-27 14:59