【问题标题】:MySQL get date of record where count was achievedMySQL获取达到计数的记录日期
【发布时间】:2014-09-23 17:48:41
【问题描述】:

老实说,这听起来像是 MySql 中一个函数的工作,但我想知道是否有一种方法可以进行查询,以选择达到 count = x 的记录日期

设置:1000 条记录,每条记录都具有相同的资格条件。假设 user_id 和访问信息以及创建日期

所需查询结果:选择第 100 次访问的日期

SELECT create_date
FROM user_visits
HAVING COUNT(id) = 100;

【问题讨论】:

  • 你有自增列吗?
  • @MKhalidJunaid 是的,visits 表的主键。
  • COUNT(id),或者COUNT(UNIQUE id),那个有很大的不同...(或者id是表的主键?)。

标签: mysql


【解决方案1】:

您可以在 auto_increment 列上使用 order by 并限制 99,1 以选择第 100 次访问

SELECT create_date
FROM user_visits
ORDER BY your_auto_increment_column
LIMIT 99,1

【讨论】:

  • 好的,从技术上讲,这就是我问题的答案。所以我可能会为下一部分打开一个新问题,但现在我需要为多个用户和多个级别执行此操作..所以我正在考虑按 user_id 为多个用户分组,然后我如何获得第 100 次和第 900 次访问日期?
  • @AlanAsher 是的,这可以通过使用用户定义的变量为属于同一用户的行分配排名来实现,今天我已经回答了您所问的类似问题,但在那种情况下年龄相同,在您的情况下,您有用户SQL return 100 random rows for each age,是的,请询问新用户,我将尝试回答该用户
猜你喜欢
  • 2011-08-12
  • 2019-11-28
  • 1970-01-01
  • 2014-03-10
  • 2013-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
相关资源
最近更新 更多