SQL仅选择最后一行';s用户名
我得到了我的数据库,我只想得到我最后一行的用户名 数据库名为SQL仅选择最后一行';s用户名,sql,Sql,我得到了我的数据库,我只想得到我最后一行的用户名 数据库名为servers,表名为log: timestamp | username --------------------+------------ 2020-11-15 05:45:31 | john 2020-11-15 05:45:59 | juliet 2020-11-15 05:49:00 | borat 2020-11-15 05:49:03 | borat 正如我所提到的,我正试图做到这
servers
,表名为log
:
timestamp | username
--------------------+------------
2020-11-15 05:45:31 | john
2020-11-15 05:45:59 | juliet
2020-11-15 05:49:00 | borat
2020-11-15 05:49:03 | borat
正如我所提到的,我正试图做到这一点:
输出:borat
我尝试使用:
SELECT MAX(timestamp), username
FROM log
但我只得到了正确的时间戳而不是正确的用户名,
我的输出也比我预期的要长
输出:最大(时间戳)juliet 2020-11-15 05:49:03
有人知道如何只过滤我的上一条记录吗?如果您使用的是php(已删除标记)所建议的DBMS数据库,那么请使用按时间戳
值对数据进行下行排序,并仅通过限制
子句选择第一条,前提是关系无关紧要
SELECT *
FROM log
ORDER BY timestamp DESC
LIMIT 1
答案与您的DBMS及其版本密切相关。标记一个db名称……严格来说,关系数据库系统不知道任何类似“最后一行”的内容,因为行是不排序的——它们可能只在显示为查询的输出时才排序。但是,有些系统添加了功能以实现您所需的功能,例如MS Sql Server。因此,命名您正在使用的数据库的请求是有意义的。它工作得很好,您认为仅使用我的db用户名就可以获得我的输出吗。或者我需要削减我的输出,只得到用户名哈哈,是的,完美!对不起,我完全忘了一会儿,谢谢!不客气@Alpha.Ars,但作为将来的参考,不要忘记标记您的DBMS及其版本。