如何从表格中选择最新行而不对其进行排序?
这是因为它后面跟着 ID AUTO INCREMENT...
我正在使用 c# asp.net 来选择...我确实尝试使用 LIMIT 5 但它给了我一个错误页面..
rSQL = "select COUNT(*) from chatLog_db where sessionid='" + grpID + "' LIMIT 5";
有没有更好的方法来解决这个问题?
我会很感激任何帮助。
如何从表格中选择最新行而不对其进行排序?
这是因为它后面跟着 ID AUTO INCREMENT...
我正在使用 c# asp.net 来选择...我确实尝试使用 LIMIT 5 但它给了我一个错误页面..
rSQL = "select COUNT(*) from chatLog_db where sessionid='" + grpID + "' LIMIT 5";
有没有更好的方法来解决这个问题?
我会很感激任何帮助。
您有一个自动递增的 id 列,对吗?然后你可以这样做..
select * from tablename where id=(select MAX(rid) from tablename)
在 MSSQL 上只需使用top 1
而不是限制
select top(1) * from mytable order by some_column
你可以试试
SELECT * FROM chatLog_db WHERE sessionid > (SELECT MAX(sessionid) - 1 FROM chatLog_db);
你也可以试试
SELECT * FROM chatLog_db WHERE sessionid > (SELECT MAX(sessionid) - 5 FROM chatLog_db);
max
您也可以使用
select * from chatLog_db where sessionid = (select max(sessionid) from chatLog_db);
类似的东西。
如果您没有使用order by
查询,因为您认为它会改变您的 dsplay 数据的顺序,那么我会告诉您,sort
根据您的需要,您的数据也有一个技巧
即使您在查询中使用 order by,您也可以根据需要对数据进行排序,将结果放入 DataView 并根据您的需要对其进行排序,因为 DataView 也允许我们进行排序。
最新使用Order By
like
select * from tablename order by columnname desc LIMIT 5;
希望对你有效。
如果最新的意味着最大 id
select * from chatLog_db
where id = (select max(id) from chatLog_db);
编辑
选择 5 条记录
select * from chatLog_db
where id > (select max(id) - 5 from chatLog_db);