我有两张桌子,我需要找到价值最高的人。
TABLE1
姓名ID
TABLE2
ID值
我可以编写一个select语句,给出名称和值的结果:
从table1,table2中选择name、value,其中table1.id = table.id;
NAME VALUE
----- ----------
MIKE 12
MIKE 10
BETTY 20
BETTY 20
BETTY 10
TIM 5现在,我需要聚合具有相同名称的行的值,但我无法计算出来。我这样做是正确的吗?
发布于 2015-09-27 18:33:37
请试试这个:
select a.name,max(b.value) as value
from table1 a
inner join table2 b on a.id = b.id
group by a.name不管怎么说,你在问题中标记了mysql和oracle。幸运的是,这种sql在这两种情况下都能工作。但是您必须删除这两个标记中的一个,以确保您使用的是哪个dbms。
发布于 2015-09-28 07:11:45
用这个..。而且,由于列名是唯一的,所以不需要任何别名。
select name, max(value) as MaxValue
from table1
inner join table2 on table1.id = table2.id
group by namehttps://stackoverflow.com/questions/32811365
复制相似问题