在单个表中计算MySQL记录,需要帮助

3

只有两列的简单表格对象: idcdate(创建日期)。我需要一个SQL查询,它可以另外显示第三列:每个对象之前创建的对象数量。简单计数不是一个选项 - 我需要在查询中进行明确的日期比较。 非常感谢!


你的意思是:在每个对象之前创建的对象数量吗? - james_bond
2个回答

2
SELECT
  id,
  cdate,
  (SELECT
     COUNT(*)
   FROM
     object AS t2
   WHERE
     t2.cdate < t1.cdate)
FROM
  object AS t1

2
SELECT t1.id, t1.cdate, 
(SELECT COUNT(*) FROM yTable AS t2 WHERE t1.cdate > t2.date)  AS createdbefore
FROM yTable AS t1

由于它需要对每一行进行计数,因此性能方面可能会较差。最好在前端处理此操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接