首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中从最后一行选择到第一行

问如何在mysql中从最后一行选择到第一行
EN

Stack Overflow用户
提问于 2012-09-12 01:01:14
回答 4查看 2.1K关注 0票数 1

无论何时完成像"select * from table where userid=xx"这样的查询,mysql都会从表的第一行到最后一行获取这些值。

但我希望选择从最后到第一个,以便最近更新的值在结果中显示在第一位。

我无法执行"select * from table where userid=xx order by time DESC",因为表中没有时间列。我只想在表格中最近更新的项目首先显示。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-12 01:04:49

如果您有任何自动递增字段,您可以按desc排序。

为了保证结果,您必须提供一个排序依据的列。因此,您必须要么更改表结构,要么决定排序依据。

一个技巧就是按顺序将数据放入一个数组中,然后开始从该数组的底部弹出。

票数 0
EN

Stack Overflow用户

发布于 2017-09-27 20:03:09

代码语言:javascript
复制
$result= mysql_query("SELECT 
(SELECT column FROM table WHERE [condition] ORDER BY column LIMIT 1) as 'first',
(SELECT column FROM table WHERE [condition] ORDER BY column DESC LIMIT 1) as 'last'");

$row=mysql_fetch_array($result);
echo $row['first'];
echo $row['last'];
票数 1
EN

Stack Overflow用户

发布于 2012-09-12 01:05:56

你必须有一个时间戳,或者自动增量id,或者其他一些你想要排序的列。

不使用ORDER BY子句时,您可以按特定顺序从数据库中获取行,但这并不意味着可以保证按该顺序返回这些行。它也不暗示结果集中的任何顺序。你需要一个明确的字段,你可以用它来ORDER BY,否则你不能做你想做的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12374543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档