目的: 基于第1列和第2列的唯一组合计数(第3列)和总和(第4列的值); 这可能在一个SQL语句中吗?如果是,那么确切的语法是什么?
说明:考虑一个包含4列的表,如
任务是计算所有Id_Indiv并根据现有的4种类型的唯一组合来总结权重值。种。
所需的输出是
如果可以在一个sql语句中创建所需的输出,它可能有点像:
SELECT genus, species, count(ID_Indiv) as NoOfIndiv, sum(weight)
FROM (
SELECT DISTINCT
genus,
species
FROM TableName
)W
group by genus, species;
注意:可能有超过50种可能的Genus *种类组合,我们不知道是否/何时会出现新的组合。因此,我不能预定义组合,但声明必须确认它们。
拜托,有人可以帮我查一下确切的Sql语句吗? 非常感谢提前!
答案 0 :(得分:1)
你使用嵌套的SELECT
语句是什么?你不必这样做!
SELECT genus, species, count(ID_Indiv) as NoOfIndiv, sum(weight)
FROM TableName
GROUP BY genus, species;
GROUP BY
将照顾每个组中{genus, species}
对唯一。
答案 1 :(得分:0)
看起来你的尝试非常接近......所以我不确定我是否过度简化这个问题...但是不应该只是简单的GROUP BY
做你想要的吗? / p>
SELECT
genus,
species,
COUNT(*) AS NoOfIndiv,
SUM(weight) as TotalWeight
FROM YourTable
GROUP BY
genus,
species