Tengo el siguiente registro en mi tabla logtrama
:
id_logtrama fechaHora idCliente idEquipo
1 2021-04-18 20 8
2 2021-04-18 20 8
3 2021-04-18 20 8
4 2021-04-18 20 1
5 2021-04-18 4 4
Y, en mi tabla equipo
lo siguiente:
idEquipo idCliente tipo
1 20 Alarm1
2 1 Alarm2
3 2 Alarm3
8 20 Alarm4
Ahora, a través de mi consulta, imprimo resultados que coinciden con las condiciones dadas y, sin repetidos:
$stmt = $con->prepare("SELECT l.id_logtrama,
l.fechaHora,
l.idCliente,
l.idEquipo,
l.statusGlobal
FROM logtrama l
JOIN equipo e
ON l.idEquipo=e.idEquipo
AND l.idCliente=e.idCliente
JOIN
(SELECT MAX(t.id_logtrama) id_logtrama,
COUNT(*) totals
FROM logtrama t
JOIN equipo e
ON e.idEquipo = t.idEquipo
AND e.idCliente = t.idCliente
GROUP BY t.idcliente, t.idequipo) c
ON c.id_logtrama = l.id_logtrama
WHERE DATE(fechaHora)=?");
$stmt->bind_param("s", $date_day);
En otras palabras, ya no me imprimirá los duplicados:
1 2021-04-18 20 8
2 2021-04-18 20 8
3 2021-04-18 20 8
4 2021-04-18 20 1
obtendré el siguiente resultado:
3 2021-04-18 20 8
4 2021-04-18 20 1
Ya en PHP sería:
while ($stmt->fetch()) {
echo 'ID logtrama: '.$id_logtrama.' Fecha: '.$fechaHora.' ID cliente: '.$pag_idCliente.' ID equipo: '.$pag_idEquipo.'';
}
Salida:
ID logtrama: 3 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 8
ID logtrama: 4 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 1
Hasta ahora todo bien, pero necesito también poder imprimir los repetidos, por ejemplo:
1 2021-04-18 20 8
2 2021-04-18 20 8
3 2021-04-18 20 8
4 2021-04-18 20 1
Se puede ver 1, 2, 3
tienen datos repetidos, entonces como puedo tener la siguiente salida de datos:
ID logtrama: 3 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 8 Total de registro repetidos: (3)
ID logtrama: 4 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 1 Total de registro repetidos: (1)
ID logtrama: 3 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 8
En la misma consulta que condiciones debo emplear para poder imprimir lo que deseo lograr.