首页 > 解决方案 > 请问如何找到练习被sql打断的人?

问题描述

我有一张像这样的桌子:

person_id, pe_year, exercise_keep_year
1001, 2016, 12
1001, 2018, 14
1002, 2017, 5
1002, 2018, 0
1003, 2016, 10
1003, 2017, 0
1003, 2018, 1
1003, 2019, 2

如果这个人每年都坚持锻炼,那么 pe_year-exercise_keep_year 将全部相等。(如 person_id=1001,exercise_start_year = 2016-12 = 2018-14 = 2004)

如果运动被中断,pe_year-exercise_keep_year 将不会全部相等。(如 person_id = 1003)

我想找到所有练习被打断的 person_id。请问该怎么做?

标签: mysql

解决方案


尝试这个

select person_id from
(select person_id,count(distinct(pe_year-exercise_keep_year)) as cnt from tablename group by person_id) as a
where cnt>1

推荐阅读