mysql仅在前12条最新记录中选择用户

时间:2018-04-28 06:22:24

标签: mysql

我想检查用户名是否在最近12位注册用户中。我只希望mysql返回结果,如果它们是最近的12。我想按id排序。

我试过了:

  Select * FROM users WHERE uname ='$uname' ORDER BY id DESC LIMIT 12

当我运行此查询时,它会显示用户天气,他们在最近12次或不是最近的前12名。有什么想法吗?

我没有在注册表单上添加时间戳或日期,因此需要按ID排序。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果你想检查uname是否在最后12个(假设你有一个auto_increment id),你可以选择最新的子查询并加入你正在寻找的东西

  select uname  from users WHERE uname ='$uname' 
  INNER JOIN (
    Select uname  FROM users ORDER BY id DESC LIMIT 12 
  ) t on tuname = users.uname  

答案 1 :(得分:0)

您应该寻找"最近注册的用户"然后在这个... ...

类似这样的地方,dateRegistered是您拥有注册日期数据的列名...

select * FROM users 
 WHERE uname in (select uname FROM users ORDER BY dateRegistered DESC LIMIT 12)