如何在 table 中保持现有记录的同时只过滤数据的一个子集?

How to filter only a subset of data while maintain existing records as is in a table?

[SQL新手]我有一个table是这样的:

id             date
1              2019-01-01
1              2019-01-02
2              2019-03-01
2              2019-05-01

我只想过滤日期在 2019-04-01 和 2019-05-01 之间的 2 上的 id 列,而不影响 id 等于 1.

新的 table 应该是这样的:

id             date
1              2019-01-01
1              2019-01-02
2              2019-03-01

我试过这个:

select * from table1 where id =2 and date between 2019-03-01 and 2019-04-01

并得到这个数据集:

id             date

2              2019-03-01

您想要的结果需要

select * from table1 where  [date] >= '2019-01-01' and [date] <= '2019-03-01'

我想你想要 or:

where id = 1 or
      (id = 2 and date between '2019-03-01' and '2019-04-01')