计算在给定日期之前和之后存在的条目数

问题描述 投票:0回答:1

鉴于我有一个带有'name'和'date'字段的简单表,有没有办法计算存在多少条目,其中相同的名称字段至少使用一次,并且在给定日期之后至少使用一次。

例如,给定

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

有没有办法问:“谁曾经在1/2之前和之后一直在那里”

鉴于上面的表格,比利会得到这样的搜索,因为比利在1/2之前(1/1)和1/2之后(1/3)都有一个条目。

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

谢谢!

mysql
1个回答
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个人。

© www.soinside.com 2019 - 2024. All rights reserved.