如何从mysql表中获取最近加入的用户

时间:2011-11-23 09:52:28

标签: php sql

所以我开始使用MYSQL进行编码,我有一个类似于

的表
CREATE TABLE IF NOT EXISTS `my_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`school_division` int(11) DEFAULT NULL,
`name` varchar(255) NOT NULL,
`email` text NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=32 ;

现在我想在该课程页面中显示最近加入的班级学生。我该怎么做?我尝试了以下内容。

"SELECT * FROM my_users WHERE school_division={$divsion} ORDER BY 'id' DESC LIMIT 0 , 5";
但它的上市只是该班的前五名学生。这些学生是第一批加入的用户。我怎样才能得到最后5位加入的学生?

6 个答案:

答案 0 :(得分:2)

使用date代替id

 "SELECT * FROM my_users WHERE school_division={$divsion} ORDER BY 'date' DESC LIMIT 0 , 5";

答案 1 :(得分:2)

按日期降序排序:

"SELECT * FROM my_users WHERE school_division={$divsion} ORDER BY 'date' DESC LIMIT 0 , 5";

答案 2 :(得分:1)

idauto_increment列。因此,通过查询该列的最后五个最高值,可以轻松地检索最后五个用户。 date列明确排序是多余的。

答案 3 :(得分:0)

您应该按日期而不是ID排序,例如:

$sql = "SELECT * FROM `my_users` WHERE `school_division`='".$divsion."' ORDER BY `date` DESC LIMIT 0 , 5"

或者,如果你以某种方式必须在id上订购...按id升序而不是降序执行订单。

答案 4 :(得分:0)

按日期排序不是id

“SELECT * FROM my_users WHERE school_division = {$ divsion} ORDER BY'date'DESC LIMIT 0,5”;

答案 5 :(得分:0)

我认为应该是

ORDER BY `id` DESC

不是分号