获取每个ID的最后一条记录
Get last record of each ID
我有这个问题:
SELECT Truck.Name AS name,
timestamp,
oil,
diesel,
cargo,
Truck.notes AS Remarks
FROM trip
INNER JOIN Truck USING (idTruck)
WHERE idTruck IN('2','4','5','6','7','8','9','11','12','13','14','15','16')
ORDER BY name, timestamp DESC
其中 returns 个 ID 的所有记录
我正在考虑将 CURDATE 用作
AND DATE(timestamp) = CURDATE()
为了获得最后的记录,但是当一天没有修改记录时(他们通常会这样做,但是
有时情况并非如此)我正在丢失记录。我将如何修改查询以获取每个 idTruck 的最后一个条目,而不考虑单个查询中的时间戳?
建议使用sql的MAX函数获取最后一条记录(MAX(Truck.Name)):
SELECT MAX(Truck.Name) AS name,
timestamp,
oil,
diesel,
cargo,
Truck.notes AS Remarks
FROM trip
INNER JOIN Truck USING (idTruck)
WHERE idTruck IN('2','4','5','6','7','8','9','11','12','13','14','15','16')
ORDER BY name, timestamp DESC
获取每个ID的最后一条记录:
SELECT MAX(Truck.Name) AS name,
timestamp,
oil,
diesel,
cargo,
Truck.notes AS Remarks
FROM trip
INNER JOIN Truck USING (idTruck)
WHERE idTruck IN('2','4','5','6','7','8','9','11','12','13','14','15','16')
GROUP BY idTruck
ORDER BY name, timestamp DESC
因为根据 sql.sh(https://sql.sh/fonctions/agregation/max):
the aggregation function MAX() allows to return the maximum value of a
column in a record set. The function can be applied to numeric or
alphanumeric data. For example, it is possible to search for the most
expensive product in a table in an online shop.
我有这个问题:
SELECT Truck.Name AS name,
timestamp,
oil,
diesel,
cargo,
Truck.notes AS Remarks
FROM trip
INNER JOIN Truck USING (idTruck)
WHERE idTruck IN('2','4','5','6','7','8','9','11','12','13','14','15','16')
ORDER BY name, timestamp DESC
其中 returns 个 ID 的所有记录 我正在考虑将 CURDATE 用作
AND DATE(timestamp) = CURDATE()
为了获得最后的记录,但是当一天没有修改记录时(他们通常会这样做,但是 有时情况并非如此)我正在丢失记录。我将如何修改查询以获取每个 idTruck 的最后一个条目,而不考虑单个查询中的时间戳?
建议使用sql的MAX函数获取最后一条记录(MAX(Truck.Name)):
SELECT MAX(Truck.Name) AS name,
timestamp,
oil,
diesel,
cargo,
Truck.notes AS Remarks
FROM trip
INNER JOIN Truck USING (idTruck)
WHERE idTruck IN('2','4','5','6','7','8','9','11','12','13','14','15','16')
ORDER BY name, timestamp DESC
获取每个ID的最后一条记录:
SELECT MAX(Truck.Name) AS name,
timestamp,
oil,
diesel,
cargo,
Truck.notes AS Remarks
FROM trip
INNER JOIN Truck USING (idTruck)
WHERE idTruck IN('2','4','5','6','7','8','9','11','12','13','14','15','16')
GROUP BY idTruck
ORDER BY name, timestamp DESC
因为根据 sql.sh(https://sql.sh/fonctions/agregation/max):
the aggregation function MAX() allows to return the maximum value of a column in a record set. The function can be applied to numeric or alphanumeric data. For example, it is possible to search for the most expensive product in a table in an online shop.