显示最近的Call_date时出现问题

时间:2017-11-09 14:27:58

标签: mysql sql

我正在尝试输出最近的Call_date。我试过使用MAX功能没有运气。下面我标记了3个图像,显示了数据库表,我当前的代码输出和所需的输出。下面是我目前的代码。任何帮助表示赞赏!

数据库表 - https://imgur.com/a/7ZPFO

我们正在寻找的输出 - https://imgur.com/a/k3idB

输出我的代码目前提供 - https://imgur.com/a/H53vq

以下是我的尝试:

SELECT Staff.First_name, Staff.Last_name, call_date, taken_by
FROM  Issue
JOIN Caller ON Issue.Caller_id = Caller.Caller_id
JOIN Staff ON Issue.Taken_by = Staff.Staff_code 
WHERE Caller.First_name = 'Harry'

2 个答案:

答案 0 :(得分:1)

我只想在查询结尾添加以下内容:

ORDER BY call_date DESC LIMIT 1

结果会给你一行。该行将是最近的call_date。

答案 1 :(得分:0)

根据提供的代码,您只需要3列,这是一个连接问题。选择最长通话日期时,需要按其他2个非聚合列进行分组。如果日期列的数据类型为Date或Datetime,那么这应该有效:

SELECT Caller.First_name, Caller.Last_name --from Caller_id       
      ,MAX(Issue.call_date) AS call_date

  FROM  Issue INNER JOIN Caller ON Issue.Caller_id = Caller.Caller_id                     

 WHERE Caller.First_name = 'Harry'

GROUP BY Caller.First_name, Caller.Last_name