我这里有这张表
CONCAT(Nome,'',Cognome) Interno value
FRANCESCA BIFULCO 1 0
FRANCESCA BIFULCO 1 84
FRANCESCA BIFULCO 1A 570
FRANCESCA BIFULCO 1A 972
RICCIARDELLI 2 1276
RICCIARDELLI 2 1320
我想要做的就是选择每个用户的最大值。 (如您所见,每个用户多次出现。)
例如:
FRANCESCA BIFULCO | 1 | 0
FRANCESCA BIFULCO | 1 | 84
想要的结果:
FRANCESCA BIFULCO | 1 | 84
我尝试了什么:
select a.ut, max(value)
from (
select Utenti_Condomini.ID_Condominio,CONCAT(Nome,' ', Cognome) as ut, Utenti_Condomini.Interno as i, Greatest(Max(Val_Primo), Max(Val_Secondo), Max(Val_Terzo), Max(Val_Quarto) )as value
from Letture_Acqua, Utenti_Condomini
where ID = 19
and Utente = CONCAT(Nome,' ', Cognome)
and ID = ID_Condominio and Interno = Internus
group by Utente, Internus, Anno
order by id_user+0
)a
group by a.ut, a.i
注意: 内部查询返回照片中显示的内容。
非常感谢你的帮助!
答案 0 :(得分:0)
将yourTableName替换为您要求的任何表格
SELECT CONCAT(Nome,' ',Cognome),interno,MAX(value) FROM yourTableName GROUP BY Nome,Cognome,interno;
答案 1 :(得分:-1)
<强>模式强>
create table test(
fullname varchar(100),
category char(5),
value int
);
insert into test values("TATA BIRLA", "1",0);
insert into test values("TATA BIRLA", "1",80);
insert into test values("TATA BIRLA", "1A",570);
insert into test values("TATA BIRLA", "1A",972);
SQL查询
SELECT fullname, max(value)
from test
group by fullname,category;