如何从表中选择最新的行而不进行排序?
这是因为它跟随ID AUTO INCREMENT ...
我使用c#asp.net选择...我确实尝试使用LIMIT 5,但它给了我一个错误页面..
rSQL = "select COUNT(*) from chatLog_db where sessionid='" + grpID + "' LIMIT 5";
有没有更好的方法来解决这个问题?
我很感激任何帮助。
答案 0 :(得分:1)
你有一个自动增量的id列,对吧?然后你就可以这样做..
select * from tablename where id=(select MAX(rid) from tablename)
答案 1 :(得分: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
您的数据也有一个技巧根据您的需要
即使您正在使用,也可以根据需要对数据进行排序 按顺序排入查询,将结果放入DataView并对其进行排序 根据您的需要,因为DataView允许我们将分类设施作为 好。
最新使用Order By
喜欢
select * from tablename order by columnname desc LIMIT 5;
希望它适合你。
答案 2 :(得分: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);
答案 3 :(得分:0)
在MSSQL上,只需使用top 1
而不是限制
select top(1) * from mytable order by some_column