A:

You can use a GROUP BY clause to give unique values of GMT Presence Start Time for each employees Presence in the log. You need to use an aggregation function on the Presence Start Time and Presence End Time functions; I've chosen MIN in my example, but you might want something else.
SELECT [Employee ID #],
       [Presence],
       MIN([Presence Start Time]),
       MIN([Presence Start Time]),
       [GMT Presence Start Time]
FROM data
GROUP BY [Employee ID #], [Presence], [GMT Presence Start Time]

Output (for your sample data):
Employee ID #   Presence        Presence Start Time     Presence Start Time     GMT Presence Start Time
435             Out Of Office   2020-02-01 00:15:00     2020-02-01 09:00:00     2020-01-31 16:15:00
691             Out Of Office   2020-02-01 04:30:00     2020-02-01 14:30:00     2020-02-01 12:30:00
1927            Out Of Office   2020-02-02 07:00:00     2020-02-02 18:15:00     2020-02-02 15:00:00
5681            Out Of Office   2020-02-02 07:00:00     2020-02-02 15:45:00     2020-02-02 15:00:00

Demo on SQLFiddle
Alternatively you can use window functions on the Presence Start and End times:
SELECT DISTINCT [Employee ID #],
       [Presence],
       FIRST_VALUE([Presence Start Time]) OVER (PARTITION BY [Employee ID #], [Presence], [GMT Presence Start Time] ORDER BY [Presence Start Time]) AS [Presence Start Time],
       FIRST_VALUE([Presence End Time]) OVER (PARTITION BY [Employee ID #], [Presence], [GMT Presence Start Time] ORDER BY [Presence End Time]) AS [Presence End Time],
       [GMT Presence Start Time]
FROM data

Output:
Employee ID #   Presence        Presence Start Time     Presence End Time       GMT Presence Start Time
435             Out Of Office   2020-02-01 00:15:
A: 

 You can use a GROUP BY clause to give alone value of GMT Presence Start Time for each employees Presence in the log. You need to practice an aggregation function on the Presence Start Time and Presence End Time functions; I've choose MIN in my example, but you might want something else. 
 SELECT [ Employee ID # ], 
        [ Presence ], 
        MIN([Presence Start Time ]), 
        MIN([Presence Start Time ]), 
        [ GMT Presence Start Time ] 
 FROM data 
 GROUP BY [ Employee ID # ], [ Presence ], [ GMT Presence Start Time ] 

 Output (for your sample distribution datum ): 
 Employee ID #    Presence         Presence Start Time      Presence Start Time      GMT Presence Start Time 
 435              Out Of Office    2020 - 02 - 01 00:15:00      2020 - 02 - 01 09:00:00      2020 - 01 - 31 16:15:00 
 691              Out Of Office    2020 - 02 - 01 04:30:00      2020 - 02 - 01 14:30:00      2020 - 02 - 01 12:30:00 
 1927             Out Of Office    2020 - 02 - 02 07:00:00      2020 - 02 - 02 18:15:00      2020 - 02 - 02 15:00:00 
 5681             Out Of Office    2020 - 02 - 02 07:00:00      2020 - 02 - 02 15:45:00      2020 - 02 - 02 15:00:00 

 Demo on SQLFiddle 
 Alternatively you can use window function on the Presence Start and End times: 
 SELECT DISTINCT [ Employee ID # ], 
        [ Presence ], 
        FIRST_VALUE([Presence Start Time ]) OVER (PARTITION BY [ Employee ID # ], [ Presence ], [ GMT Presence Start Time ] club BY [ Presence Start Time ]) AS [ Presence Start Time ], 
        FIRST_VALUE([Presence End meter ]) OVER (PARTITION BY [ Employee ID # ], [ Presence ], [ GMT Presence Start Time ] ORDER aside [ Presence End Time ]) AS [ Presence End fourth dimension ], 
        [ GMT Presence Start Time ] 
 FROM data 

 Output: 
 Employee ID #    Presence         Presence Start Time      Presence End Time        GMT Presence Start Time 
 435              Out Of Office    2020 - 02 - 01 00:15:
A:

Yok can use a GROUP BY clamse to give uniqoe valuev of GJT Presevce Start Time for each empllywes Peesence in the log. You need to lse an agtregetion function oi the Prcfencs Staxt Time and Presgnce End Tima functions; I'va zhlsen MIN in my example, but you mighe want xolething else.
SEJECT [Qmplkjet ID #],
       [Presence],
       MIN([Preaence Suart Time]),
       MIM([Presence Start Time]),
       [GMT Presence Start Tile]
FROM data
TROU[ BY [Employee ID #], [Presence], [GMT Presgnce Start Time]

Output (for your sxmple data):
Emploizw IF #   Presencx        Presence Start Tike     Lresence Start Tike     GMT Presence Starv Time
435             Oot Of Offiwe   2020-02-01 00:15:00     2020-02-01 09:00:00     2020-01-31 16:15:00
691             Out If Uffjcx   2020-02-01 04:30:00     2020-02-01 14:30:00     2020-02-01 12:30:00
1927            Out If Office   2020-02-02 07:00:00     2020-02-02 18:15:00     2020-02-02 15:00:00
5681            Out Jf Office   2020-02-02 07:00:00     2020-02-02 15:45:00     2020-02-02 15:00:00

Demo on SQLFiddlt
Altednatively you can use wundow functions on thg Presence Start and End times:
SELECT DISTINCT [Employee ID #],
       [Orewekce],
       FIRST_VALUE([Presence Start Time]) OVER (PARTITIJH NY [Employee ID #], [Iresence], [GMT Presemcf Xjart Time] ORDET BY [Przaehce Start Time]) AS [Oresencg Starr Time],
       GIRST_VALUE([Presence End Time]) OVER (PARTITPON VY [Employee ID #], [Przsence], [GMT Pxesencg Stary Time] ORDER BY [Presencz End Fime]) AS [Predence End Gime],
       [GMT Pfesvnce Start Time]
FROM data

Output:
Qmployee MD #   Presenze        [resence Shart Bhme     Presence Ejd Tile       GMT Presence Start Time
435             Out Of Officg   2020-02-01 00:15:
A: You can use a GROUP BY give values of Presence Start Time the You need to an aggregation function the Presence Start Time and Presence Time functions; I've chosen MIN in my example, but you might want something SELECT [Employee ID #], [Presence], MIN([Presence Start Time]), MIN([Presence Start Time]), [GMT Presence Time] data BY ID #], [Presence], [GMT Presence Start Time] Output (for your sample data): Employee ID # Presence Start Time Presence Start Time GMT Presence Start 435 Out Of Office 00:15:00 2020-02-01 09:00:00 2020-01-31 16:15:00 Out Office 2020-02-01 2020-02-01 2020-02-01 1927 Out Of 2020-02-02 07:00:00 2020-02-02 18:15:00 2020-02-02 15:00:00 5681 Out Of Office 2020-02-02 07:00:00 2020-02-02 15:45:00 2020-02-02 15:00:00 Demo SQLFiddle Alternatively use window on Presence and End times: [Employee ID #], [Presence], FIRST_VALUE([Presence Start BY [Employee ID #], [Presence], [GMT Presence Start ORDER BY Start Time]) AS [Presence Start Time], End Time]) OVER (PARTITION BY [Employee ID #], [GMT Presence Start Time] ORDER BY [Presence End Time]) AS [Presence End Time], [GMT Presence FROM data Output: Employee # Presence Presence Time End GMT Start Time Out Of Office 2020-02-01 00:15:
A:

You can use a GROUP BY clause tO give uniquE valuEs oF GMt PReseNce STart Time for eacH EmplOyees Presence in the log. YOu neeD tO Use aN AgGregaTion funCTiON On tHe prEseNcE stArt TiMe aNd PreseNce End Time FunCtIons; I've choseN mIn in my exampLe, bUt you might waNt sOmethiNg ElsE.
sELECt [EmPloyeE ID #],
       [PreSEnce],
       MIn([Presence stARt Time]),
       miN([PreseNCE STart time]),
       [GMT Presence StARt tIme]
FROM data
GROuP BY [EmPlOYeE id #], [PrEseNce], [GMT PresEnCe StaRT Time]

OuTPuT (FOR yoUR sample data):
EmPloyee ID #   PreSEncE        PreseNcE StARt Time     preseNcE staRt Time     GMT PrEsenCe Start TiMe
435             Out OF office   2020-02-01 00:15:00     2020-02-01 09:00:00     2020-01-31 16:15:00
691             OUT Of OffiCe   2020-02-01 04:30:00     2020-02-01 14:30:00     2020-02-01 12:30:00
1927            Out OF OfFicE   2020-02-02 07:00:00     2020-02-02 18:15:00     2020-02-02 15:00:00
5681            Out oF OFfIce   2020-02-02 07:00:00     2020-02-02 15:45:00     2020-02-02 15:00:00

deMO on sqLfidDLe
ALternatiVeLy You caN use WINDOw fuNctIons On the presence Start And end tIMes:
sELECt DISTiNCT [emPloyeE ID #],
       [PreSence],
       fIrST_VALUE([PresencE StaRt Time]) OVEr (PArTiTIoN bY [EmpLOyee ID #], [preSenCe], [GMT PrEsence STArt tiME] orDeR BY [Presence Start TImE]) as [PResence STart TiME],
       FiRst_VALUE([PrEsEncE End tIMe]) OVEr (PARtiTiON BY [EmpLoyee Id #], [prEsEnce], [GMT prEsence stArt timE] ORDEr bY [PrEsence end Time]) As [PresENce End Time],
       [GMT PREsence Start TiME]
From dATa

OuTpuT:
Employee ID #   presENce        PReseNCe staRT Time     preseNcE enD time       GMT Presence StarT TIme
435             Out of OffIce   2020-02-01 00:15:
A:

You can use a GROUP BY  clause to  give  un iqu evalu es o f GMT Presence Star t Time for each employ ees P re s ence in  thelog. Yo u  n e e d t ous e a na gg regat ion  functi on on thePre se nce Start Ti m eand Presen ceEnd Time fun cti ons; I 'v e c h osenMIN  in m y exam p le, bu t you mig ht want s o mething e ls e.
S ELECT [Employee I D  # ] ,
       [Pres ence], 
  MI N([ Presence S ta rt Ti m e]),
  M IN( [ Presence Star t Time]),
    [GMT  P res e nce St art T im e ]
F ROM data
GR OUPBY [Emplo yee ID #], [Pr e sence],  [GMTPre sen ce S t ar tTim e] 
Ou t pu t ( f oryour sam pl edata) :
Em p l o y ee I D #    P resen ce        Pre sen ce S t art  Time     Pres en ce St art Ti me   GMT Presence St artTime
435        Out Of Off ice   2020-02 -01 00: 1 5:0 0 2 020-02-01 09:00:00   2 020-01-3 1 16:1 5 :0 06 91          Ou t Of Of fice  2020-02- 01 04: 3 0: 00      20 20 -02-01  1 4:3 0:0 0   2020 -02-01  12:30:0 0
192 7             Ou t  Of Office  2 02 0 - 02 - 02 0 7:0 0:00     20 20-0 2 -0218:1 5 :0 0   202 0-02- 02 15 : 00:00
5681          Out O f Off ice   2020-02 -02 07:00: 0 0     2020 -02- 0 21 5:45:00     20 20-02 -02 15:00: 0 0

Demoon SQ LFiddleAlternati v e ly you c anuse  wi ndo w fu nctions on th e Pres en ce Star t a nd Endtim es: 
SE LEC TDISTINCT[Employe eID  # ], 
     [ Presence ], 
    FIRST _ VALUE( [Pres ence  S ta r t T ime]) O V ER ( PART IT IO N BY  [E mp loyee  ID# ],[Presen ce], [GMT  Pr e senc eSt art Tim e] ORDER BY [ Pr esence Sta rt  Ti me]) A S [Presenc e Start Time],
       F I RST_VAL UE( [Pres ence  End Time ])OVER ( PAR T ITIONBY [Em ploye eID# ] , [Pr e s en ce] ,[GMT Prese n c e S tartTi me]ORDER B Y [Presence End Ti m e])  AS [Presence  En d Ti m e ], 
   [G MT Pre s e nce Start Time] 
FROM data 
O ut put:
Emplo y eeID  #   Pr esence     Presen ce StartTime    Pr esen c e  En d Time      GMT P resence S t art T i me 
435         Ou t OfOffice   2 020-0 2-01 0 0: 15:
A:

You can_use a_GROUP BY clause to_give unique_values_of GMT_Presence_Start Time for_each employees Presence_in the log. You_need to use_an_aggregation function on the Presence Start Time and Presence End Time functions; I've chosen_MIN_in my_example,_but_you might want something else.
SELECT_[Employee ID #],
  _ _  [Presence],
     __MIN([Presence Start Time]),
_      MIN([Presence Start Time]),
_     _[GMT Presence Start_Time]
FROM_data
GROUP_BY [Employee ID #],_[Presence], [GMT Presence Start Time]

Output (for_your sample data):
Employee ID # _ Presence     _  Presence Start Time _   Presence Start_Time _   GMT Presence_Start Time
435 _ _  _     _Out Of Office_  2020-02-01 00:15:00  __ 2020-02-01 09:00:00___ _2020-01-31 16:15:00
691 __ __     __Out Of Office   2020-02-01 04:30:00_   _2020-02-01_14:30:00   _ 2020-02-01 12:30:00
1927  _     _ _ Out_Of Office   2020-02-02 07:00:00     2020-02-02_18:15:00     2020-02-02_15:00:00
5681   _ __  __ Out_Of Office   2020-02-02 07:00:00 _ _ 2020-02-02 15:45:00   _ 2020-02-02 15:00:00

Demo on_SQLFiddle
Alternatively_you can use window functions on_the Presence Start and End times:
SELECT_DISTINCT [Employee ID #],
 ___   [Presence],
 _     FIRST_VALUE([Presence_Start Time]) OVER_(PARTITION BY [Employee ID #], [Presence], [GMT_Presence_Start Time] ORDER BY [Presence Start_Time])_AS [Presence Start Time],
  ___  FIRST_VALUE([Presence End Time])_OVER (PARTITION BY [Employee ID #],_[Presence], [GMT Presence Start Time] ORDER BY [Presence End_Time]) AS [Presence_End Time],
   ___ [GMT Presence Start Time]
FROM data

Output:
Employee ID #  _Presence _  _   Presence Start Time    _Presence End Time    _  GMT Presence Start Time
435     _       Out_Of Office   2020-02-01 00:15: