SELECT com resultado de dois valores distintos a serem comparados entre si

Estou com problema para resolver uma solução que estou necessitando. Toda ajuda será bem-vinda!

Tenho uma tabela onde há vários registros com um mesmo IDENTIFICADOR e vários INDENTIFICADORES diferentes em uma mesma coluna.

Como percorrer os registros de uma tabela, com base nos IDENTIFICADORES?

Preciso também analisar um período por data (>= e <=) e ABSTRAIR deste período o valor MIN e MAX de uma outra coluna

Esta consulta precisa ser realizada em cada IDENTIFICADOR DISTINTO?

Já utilizei o BETWEEN, mas ao usar o código com o foreach() no PHP ele lê apenas um registro.

O código que estou trabalhando é este:

SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, MIN(cons_leitura_atual), MAX(cons_leitura_atual), hidro_valvula, hidro_cliente
FROM tab_conf_hidro, tab_consumo INNER JOIN tab_hidrometros ON cons_reg_ident_iot = hidro_ident_iot
WHERE cons_reg_ident_iot = ‘20220701001’ and conf_hidro_inatividade = ‘sim’ and hidro_valvula = ‘aberta’ and cons_data BETWEEN ‘2022-10-10’ and ‘2022-10-13’;

Com:

SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, cons_leitura_atual, hidro_valvula, hidro_cliente (sem o MIN e MAX na mesma coluna)

WHERE cons_reg_ident_iot != ’ ’ and conf_hidro_inatividade = ‘sim’ and hidro_valvula = ‘aberta’;

usando dentro do foreach(), percorre todos os registros.

Acho que na primeira string sql está faltando o GROUP BY e os demais campos que não tem min e max

Postei uma imagem para tentar ajudar, (uma imagem diz mais que muitas palavras).
Nome da tabela
tab_consumo

Colunas objeto da consulta
1 - cons_reg_ident_iot
2 - cons_data
3 - cons_leitura_atual

Finalidade
A consulta elaborada será usada em uma programação PHP com a função foreach() para Percorrer toda tabela verificando todos os identificaadores distintos em 1-imagem obtendo os valores MIN e MAX dentro de um determinado período.
OBS: Com uma consulta simples consegui parcorrer toda tabela, apenas declarando: WHERE cons_reg_ident_iot != ‘’

Objetivo da consulta

  • Através da coluna 1-imagem, onde estão os identificadores, que serão muitos e diferentes
  • Determinar na coluna 2-imagem, um período (data atual e uma data anterior), para
  • Obter na coluna 3-imagem, os valores MIN e MAX do período determinado

Sequência da finalidade
-> Com a obtenção dos valores MIN e MAX, irei compara-los para realizar im INSERT em uma outra tabela, quando os valores forem; MIN = MAX;

VEJA ABAIXO como estou desenvolvendo, mas que está faltando obter o MIN e MAX de cada período

CONSULTA
$sql = “SELECT cons_reg_ident_iot, cons_data, cons_leitura_atual”
. " FROM tab_consumo"
. " WHERE cons_reg_ident_iot != ‘’ and cons_data BETWEEN ‘2022-10-10’ and ‘2022-10-13’";
sc_lookup(reg_sql, $sql);

FOREACH
if( !empty( {reg_sql} ) ){
foreach( {reg_sql} as $item){
$iot = $item[0];
$data_ant = $item[1];
$consumo = $item[2];
echo "—IOT: " . $iot . ’ —DATA: ’ . $data_ant . ’ —CONSUMO: ’ . $consumo . “
” ; //salto de linha não está aparecendo
}
}

RESULTADO
IOT: 20220915001 —DATA: 2022-10-13 —CONSUMO: 0.002
IOT: 20220701001 —DATA: 2022-10-11 —CONSUMO: 5.700
IOT: 20220701001 —DATA: 2022-10-12 —CONSUMO: 5.700
IOT: 20220701001 —DATA: 2022-10-13 —CONSUMO: 5.800

O que ainda preciso?
Que no caso do IOT: 20220701001 seja retornado APENAS os valores do MIN e MAX em uma ÚNICA LINHA, ou seja
IOT: 20220701001 —DATA: 2022-10-13 —CONSUMO_MIN: 5.700 CONSUMO_MAX: 5.800