1

如何从表格中选择最新行而不对其进行排序?

这是因为它后面跟着 ID AUTO INCREMENT...

我正在使用 c# asp.net 来选择...我确实尝试使用 LIMIT 5 但它给了我一个错误页面..

rSQL = "select COUNT(*) from chatLog_db where sessionid='" + grpID + "' LIMIT 5";

有没有更好的方法来解决这个问题?

我会很感激任何帮助。

4

4 回答 4

1

您有一个自动递增的 id 列,对吗?然后你可以这样做..

select * from tablename where id=(select MAX(rid) from tablename)
于 2013-05-29T04:40:08.420 回答
0

在 MSSQL 上只需使用top 1而不是限制

select top(1) * from mytable order by some_column

http://msdn.microsoft.com/en-us/library/ms189463.aspx

于 2013-05-29T06:08:48.013 回答
0

你可以试试

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 Bylike

select * from tablename order by columnname desc LIMIT 5;

希望对你有效。

于 2013-05-29T04:36:16.073 回答
0

如果最新的意味着最大 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);
于 2013-05-29T04:37:02.163 回答