Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Encontre o número total de jogadores que jogaram mais de 50% do tempo de jogo nos últimos 4 meses.
 ###Tabelas: 
CREATE TABLE GameEvents (PlayerID INT, EventTimestamp DATETIME, EventType VARCHAR(255)); INSERT INTO GameEvents (PlayerID, EventTimestamp, EventType) VALUES (1, '2022-01-01 12:00:00', 'GameStart'), (2, '2022-01-01 13:00:00', 'GameEnd'), (3, '2022-01-01 14:00:00', 'GameStart');
SELECT COUNT(DISTINCT PlayerID) as TotalPlayers FROM GameEvents WHERE EventType = 'GameStart' AND EventTimestamp BETWEEN DATEADD(month, -4, CURRENT_DATE) AND CURRENT_DATE AND (SELECT COUNT(*) FROM GameEvents as GE2 WHERE GE2.PlayerID = GameEvents.PlayerID AND GE2.EventType IN ('GameStart', 'GameEnd') AND GE2.EventTimestamp BETWEEN GameEvents.EventTimestamp AND DATEADD(month, 4, GameEvents.EventTimestamp)) > (SELECT COUNT(*) * 0.50 FROM GameEvents as GE3 WHERE GE3.PlayerID = GameEvents.PlayerID AND GE3.EventType = 'GameStart' AND GE3.EventTimestamp BETWEEN DATEADD(month, -4, CURRENT_DATE) AND GameEvents.EventTimestamp);