怎样在数据库的一个表里筛选出每一人的时间最新的一条记录

怎样在数据库的一个表里筛选出每一人的时间最新的一条记录,第1张

select t

from (select ,row_number() over (partition by autoid order by recordtime desc) as rn

from table_name

) t

where rn<=1

我帮楼主解释一下楼主的意思

select top 1 [time] from person order by [time] desc

这句话就是按照时间字段倒序,这样时间晚一点就排在前面,早的自然就排在后面了!

不过要提示的是:你的时间字段必须是时间型

你读取 这些记录 最终是不是要用PHP显示到页面的对吗?

很多情况下, 都会出现类似问题, 你完全可以 利用PHP 数组排序来 处理这个问题

SELECT FROM `pre_moodwall` ORDER BY id desc limit 10 读出来的结果

放进一个2维数组 ,然后 显示的时候 只要倒着显示就可以了啊。

做无线分类的 时候 排序问题 也都是用PHP解决, 这样还能减少数据库的负担吧,

下面是需要用到的测试语句; 数据库是 mysql 57

use test;

CREATE TABLE test (

`id` int(11) NOT NULL AUTO_INCREMENT,

`domain` varchar(100) COLLATE utf8_unicode_ci NOT NULL,

`port` varchar(6) COLLATE utf8_unicode_ci DEFAULT '80',

`email` varchar(45) COLLATE utf8_unicode_ci NOT NULL,

`type` tinyint(4) DEFAULT NULL,

`name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,

`value` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,

`ttl` int(11) DEFAULT '0',

`route` tinyint(4) DEFAULT '0',

`def` tinyint(1) DEFAULT '0',

`remark` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2721 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

以上就是关于怎样在数据库的一个表里筛选出每一人的时间最新的一条记录全部的内容,包括:怎样在数据库的一个表里筛选出每一人的时间最新的一条记录、asp怎么在sql数据库中找出时间最新的记录、MYSQL数据库查询最新10条记录结果排序的问题。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9726497.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存