Я записываю время для каждой операции, когда она начинается, и когда она заканчивается, и как они являются разными операциями, я генерирую несколько строк, которые я хотел бы консолидировать время начала и конец, если и только если в течение следующей минуты записывается следующая операция. Если вы проводите более одной минуты, это считается другой консолидированной строкой. ПримерОбъединить строки в SQL Server
СУБД SQL Server 2008 R2
ID | PERSON | START | END | OP |TYPE 1 |2001668 |27/04/2016 22:58|27/04/2016 22:59|5901430|19 2 |2001668 |27/04/2016 23:00|27/04/2016 23:19|5901430|19 3 |2001326 |20/11/2009 04:16|20/11/2009 04:27|5901444|21 4 |2001668 |28/04/2016 11:19|28/04/2016 11:32|5901430|19
Я хотел бы результаты выглядеть следующим образом:
PERSON | START | END | OP |TYPE 2001668 |27/04/2016 22:58|27/04/2016 11:19|5901430|19 2001326 |20/11/2009 04:16|20/11/2009 04:27|5901444|21 2001668 |28/04/2016 11:19|28/04/2016 11:32|5901430|19
Вы, вероятно, хотите для использования курсора. Если у вас была более поздняя версия SQL Server, вы можете использовать 'lag()/lead()'. Скорее всего, решения этой проблемы уже возникнут в других вопросах Stackoverflow. – shawnt00
Это может помочь: http://stackoverflow.com/questions/24244659/group-consecutive-rows-of-same-value-using-time-spans http://stackoverflow.com/questions/15161262/merge-adjacent- rows-in-sql – shawnt00
Вот отличное место для начала. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –