鉴于我有一个带有“名称”和“日期”字段的简单表,有没有一种方法可以计算存在的条目数,其中相同名称字段在给定日期之前至少使用一次,至少在给定日期之后使用一次
例如,给定
[ 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上)都有一个条目。
请记住,数据库中的每个“条目”都只有一个日期字段。 (请原谅我使用的是错误的用语)
谢谢!
答案 0 :(得分:0)
以下查询应回答“谁在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个名称相同的人。