Как из этих данных я показываю только имена, в которых дата "END" больше, чем следующая дата "Begin".
например, Питер не должен отображаться, поскольку его первая строка "END" 2019-12-31 и его следующая «Начало» Дата 2020-01-01, так что 2019 <2020. Теперь для Джона первая строка «Конец» даты 2021-12-31, которая больше, чем следующая строка «Начало» даты 2020-03-01. </p>
╔═════════╦════════════╦════════════╗
║ name ║ Begin ║ End ║
╠═════════╬════════════╬════════════╣
║ Peter ║ 2016-01-01 ║ 2019-12-31 ║
║ Peter ║ 2020-01-01 ║ 2020-12-31 ║
║ John ║ 2018-01-01 ║ 2021-12-31 ║
║ John ║ 2020-03-01 ║ 2022-03-01 ║
║ Mary ║ 2018-02-01 ║ 2022-01-31 ║
║ Mary ║ 2020-01-01 ║ 2022-01-01 ║
║ Charles ║ 2019-07-01 ║ 2021-06-30 ║
║ Charles ║ 2020-03-01 ║ 2022-03-01 ║
╚═════════╩════════════╩════════════╝
Так что из этих данных, как я могу получить только
╔═════════╦════════════╦════════════╗
║ name ║ Begin ║ End ║
╠═════════╬════════════╬════════════╣
║ John ║ 2018-01-01 ║ 2021-12-31 ║
║ John ║ 2020-03-01 ║ 2022-03-01 ║
║ Mary ║ 2018-02-01 ║ 2022-01-31 ║
║ Mary ║ 2020-01-01 ║ 2022-01-01 ║
║ Charles ║ 2019-07-01 ║ 2021-06-30 ║
║ Charles ║ 2020-03-01 ║ 2022-03-01 ║
╚═════════╩════════════╩════════════╝