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;
即使在我的数据库中,如果有两个不同的时间,输出也是一样的。
你能告诉我这里有什么问题吗?
最佳答案
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的最新和最旧版本,请使用
GROUP BY
并省略WHERE
子句SELECT
TicketID,
MAX(UpdateTime) AS newest,
MIN(UpdateTime) AS oldest,
FROM TicketUpdate
GROUP BY TicketID
如果您使用
ID
查询,您将始终获得相同的行,因为每个ID
似乎只有一个唯一标识其行的值。