我有表,我想查找特定时间间隔(DATE是SQL查询的输入参数)的重复行,它将列出具有相同PERSON和TYPE值的所有行。SQL SELECT从表中重复特定时间间隔的行
ID DATE PERSON TYPE
1 01.01.2017 PERSON1 TYPE1
2 02.02.2017 PERSON1 TYPE1
3 03.03.2017 PERSON2 TYPE1
4 04.04.2017 PERSON2 TYPE2
5 05.05.2017 PERSON2 TYPE1
6 06.06.2017 PERSON1 TYPE2
因此,举例来说,如果日期是01.01 and 04.04
之间应列出我行与ID 1 and 2.
如果DATE 01.01 and 06.06
之间应列出我行与ID 1, 2, 3
and 5
,因为1和2有相同的人并键入间隔和3和5在该间隔中具有相同的人和类型。
SELECT ID FROM TABLE
WHERE DATE>='01.01.2017' AND DATE<='06.06.2017'
但我不确定如何开始基于PERSON和TYPE列定义此重复子句。 也许可以INNER JOIN帮助这个,如果引用同一个表并且匹配那两列和第三列ID是不同的?:TABLE.PERSON=TABLE.PERSON and TABLE.TYPE=TABLE.TYPE and TABLE.ID!=TABLE.ID
当然表是相同的,但是可以使用不同的别名?
我已经更新了我的答案。 – toonice