【问题标题】:Count how many entries that are found that exist before and after a given date计算在给定日期之前和之后发现的条目数量
【发布时间】:2019-02-16 07:51:48
【问题描述】:

鉴于我有一个包含“名称”和“日期”字段的简单表,有没有办法计算存在多少条目,其中相同名称字段在给定日期之前和之后至少使用一次.

例如,给定

[ name | date ]
Joe, 1/1
Billy, 1/1
Sam, 1/2
James, 1/3
Billy, 1/3

有没有办法问:“谁在1/2之前和1/2之后去过那里”

鉴于上表,这样的搜索结果将是 Billy,因为 Billy 在 1/2 之前(1/1)和 1/2 之后(1/3)都有一个条目。

请记住,数据库中的每个“条目”只有一个日期字段。 (如果我使用了错误的术语,请原谅我)

谢谢!

【问题讨论】:

    标签: mysql


    【解决方案1】:

    以下查询应回答“谁在 1/2 之前和 1/2 之后去过那里?”的问题:

    SELECT DISTINCT T1.name
    FROM TABLE AS T1, TABLE AS T2
    WHERE T1.date < 1/2 AND T2.date > 1/2 AND T1.name = T2.name
    

    "TABLE" 应该是您的表的名称。请确保正确格式化我们正在比较的日期。 根据上面的查询,您应该能够计算行数 - 只需使用:

    SELECT COUNT(DISTINCT T1.name)
    

    相反。请注意,我假设名称是唯一的,因此表中不存在同名的 2 个人。

    【讨论】:

      猜你喜欢
      • 2012-11-13
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 2021-10-28
      • 2017-10-17
      相关资源
      最近更新 更多