我是学习SQL的新手。如何创建查询以获取最小值的时间戳和最小值本身? 以前,我设法获得了最小值,但没有时间戳。与此查询
SELECT min(score) as lowest
FROM rank
WHERE time >= CAST(CURDATE() AS DATE)
这是我创建的表:
(由于信誉规则而无法附加图像)
对不起,英语不好。
答案 0 :(得分:1)
如果您希望只有一条记录的得分最低,或者有联系,那么您不在乎返回哪条记录,那么使用LIMIT
可能是最简单的方法在这里:
SELECT timestamp, score
FROM rank
WHERE time >= CAST(CURDATE() AS DATE)
ORDER BY score
LIMIT 1;
如果您关心关系,并希望看到所有关系,那么我们可以使用子查询:
SELECT timestamp, score
FROM rank
WHERE time >= CAST(CURDATE() AS DATE) AND
score = (SELECT MIN(score) FROM rank WHERE time >= CAST(CURDATE() AS DATE));
答案 1 :(得分:1)
可以通过以下方式进行。
注意:仅当您想一次获得一条记录时,该功能才有效
select score, time
FROM rank
WHERE time >= CAST(CURDATE() AS DATE)
ORDER BY score ASC LIMIT 1