1
ID|message| UpdateTime| TicketID| StaffID

10008;"Yes, it is!";"2012-04-15 16:15:00";1008;660
10013;"Thanks for swift reply!";"2012-04-15 17:15:00";1008;660

当我写这两个查询时,你能告诉我:

Select MAX(UpdateTime) from TicketUpdate where ticketUpdate.id = 10008;    
Select MIN(UpdateTime) from TicketUpdate where ticketUpdate.id = 10008;

如果有 2 个不同的时间,即使在我的数据库中输出也相同。你能告诉我这里可能是什么问题吗?

4

1 回答 1

1

ID似乎是该表的唯一标识符。相反,您似乎想使用它TicketID来查找每张票的最大值和最小值。

例如,要找到它们TicketID = 1008

SELECT MAX(UpdateTime) FROM TicketUpdate WHERE TicketUpdate.TicketID = 1008;    
SELECT MIN(UpdateTime) FROM TicketUpdate WHERE TicketUpdate.TicketID = 1008;

或者在一个查询中:

SELECT 
  MAX(UpdateTime) AS newest,
  MIN(UpdateTime) AS oldest
FROM TicketUpdate
WHERE TicketID = 1008;

要获取每个 TicketID 的最新和最旧,请使用 aGROUP BY并省略该WHERE子句。:

SELECT 
  TicketID,
  MAX(UpdateTime) AS newest,
  MIN(UpdateTime) AS oldest,
FROM TicketUpdate
GROUP BY TicketID

如果您使用 查询ID,您将始终获得相同的行,因为每个似乎只有一个值ID唯一标识其行。

于 2012-04-17T17:11:38.160 回答