-- TEMOS DUAS TABELAS PRINCIPAIS

-- Inputs do game: tempo, pontuação e respostas
CREATE TABLE `MW_inputs` (
  `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `id_user` VARCHAR(50) NOT NULL,
  `pergunta` VARCHAR(255) NOT NULL,
  `resposta` VARCHAR(255) NOT NULL,
  `tempo` INT(11) NOT NULL,
  `vez` INT(11) NOT NULL,
  `pontos` INT(11) NOT NULL DEFAULT 0,
  `data` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dados dos usuarios
CREATE TABLE `MW_Users` (
  `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `nome` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `celular` VARCHAR(20) NOT NULL,
  `idade` TINYINT UNSIGNED NOT NULL,
  `vez` TINYINT UNSIGNED NOT NULL DEFAULT 1,
  `quiz` INT(11) NOT NULL,
  `tempo` INT(11) NOT NULL,
  `data_cadastro` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Exemplo de SQL para gerar o ranking
SELECT mu.nome, mi.pontos, mi.tempo
FROM `MW_inputs` mi 
JOIN MW_Users mu ON mi.id_user = mu.id
WHERE mi.pergunta = 'FIM FASE 2'
AND (mi.pontos, mi.tempo) = 
  (SELECT MAX(mii.pontos) AS pontos, MIN(mii.tempo) AS tempo
  FROM MW_inputs mii
  WHERE mii.id_user = mi.id_user 
  AND mii.pergunta = 'FIM FASE 2'
  AND mii.pontos = 
    (SELECT MAX(pontos) FROM MW_inputs 
    WHERE id_user = mi.id_user 
    AND pergunta = 'FIM FASE 2')
  )
ORDER BY mi.pontos DESC, mi.tempo ASC

-- exemplo de SQL para gerar relatórios
