MySQL:counttotal;“价值”;每次事故

MySQL:counttotal;“价值”;每次事故,mysql,sql,Mysql,Sql,是否有一些查询“魔法”可以实现我所寻找的功能,或者必须通过编程和返回的结果来实现 我有桌子“骨头”: 我实际上想得到一个关于这个的视图,我看到它是按每种颜色的骨骼总数排序的,并且也看到了数量。 应该是这样的: Color Amount ----------------------- white 9 yellow 6 brown 4 black 4 但到目前为止,我只找到了以下问题: SELECT Color,COUNT(*

是否有一些查询“魔法”可以实现我所寻找的功能,或者必须通过编程和返回的结果来实现

我有桌子“骨头”:

我实际上想得到一个关于这个的视图,我看到它是按每种颜色的骨骼总数排序的,并且也看到了数量。 应该是这样的:

    Color   Amount   
    -----------------------
    white   9
    yellow  6
    brown   4
    black   4
但到目前为止,我只找到了以下问题:

SELECT Color,COUNT(*) as count FROM tablename GROUP BY Color ORDER BY count DESC;
但这给了我:

    Color   Amount   
    -----------------------
    white   3
    yellow  3
    brown   2
    black   2
这是具有不同值的事件计数,但不是我真正想要的。 在一个查询中是否可能?如果这种魔法可能的话,我该如何扩展它呢?e、 g.我的计算方法相同,但假设骨骼长度超过11厘米?

使用

SUM(amount)
而不是

COUNT(*)
因为SUM()将该分组中的所有值相加,而COUNT()只计算非NULL的出现次数

SUM(amount)
而不是

COUNT(*)
由于SUM()将添加该分组中的所有值,而COUNT()仅统计非空的出现次数,请尝试以下操作:

SELECT Color,SUM(amount) as count FROM tablename
GROUP BY Color ORDER BY count DESC;
计数=发生次数的计数

求和=给出加法列数据

尝试以下操作:

SELECT Color,SUM(amount) as count FROM tablename
GROUP BY Color ORDER BY count DESC;
计数=发生次数的计数

SUM=给出加法列数据

使用
SUM(amount)
代替
count(*)
SUM(amount)作为金额使用
SUM(amount)
代替
count(*)
SUM(amount)作为金额