remover dados duplicados de uma string ou sql
Boa noite, pessoal estou tentando remover dados duplicadas do banco de sql .
estou criando um gráfico de avarias e faço consulta pelo banco de dados, já tentei tentei DISTINCT, Group, order e array_unique e nada funcionou.
Tenho o banco de dados vários registro no mesmo dia, quero remover todos os dias duplicados e mostra apenas um registro.
exemplo no dia 21 teve 5 registro, fazendo a consultar vai me retornar o 5 registro com dia 21 , quero apenas que me retorne um registro.
pessoal do forum, peço que me ajude, por favor estou quebrando a cabeça.
<?php
//aqui pega dados de ate um ano da data do banco de dados\\
$sql1 = "SELECT * FROM avaria WHERE YEAR(data) = YEAR(CURRENT_DATE)";
$stmt1 = $PDO->prepare($sql1);
$stmt1->execute();
while($avaria = $stmt1->fetch(PDO::FETCH_ASSOC)):
$datadia = date("d", strtotime($avaria['data']));
$datames = date("m", strtotime($avaria['data']));
//aqui e o problema faço o filtro extraio a data e pego apenas o dia e o mes, so que continua aparece pois tem varios dados do mesmo dia, quero quer remover essa duplicidade de dias e memanda apenas um registro para pode fazer o grafico, ja tentei de tudo e nada funcionou\\
$sql2 = "SELECT DISTINCT EXTRACT(day FROM data) as data FROM avaria where DAY(data) = '$datadia' AND MONTH(data) = '$datames' ";
$stmt2 = $PDO->prepare($sql2);
$stmt2->execute();
while($avaria1 = $stmt2->fetch(PDO::FETCH_ASSOC)):
$data3 = date("d", strtotime($avaria1['data'])) ;
$valores = $avaria1;
// vamos remover os elementos duplicados
$valores = array_unique($valores, $data3);
// vamos exibir os valores do array novamente
echo "<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
// manter duplicados diferenciando dos demais
$valores = array_unique($valores);
// vamos exibir os valores do array novamente
echo "<br><br>Elementos duplicados:<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
endwhile;
endwhile;
?>Discussão (5)
Carregando comentários...