小编use*_*497的帖子

MySQL:计算每次出现的总"值"

是否有一些查询"魔法"可以执行我正在寻找的内容,或者必须使用返回的结果以编程方式完成?

我有桌子"骨头":

    Color   Amount   Length
    -----------------------
    yellow  3        15
    brown   2        16
    white   4        10
    yellow  2        11
    black   2        15
    white   1        15
    brown   2        16
    white   4        10
    yellow  1        11
    black   2        15
Run Code Online (Sandbox Code Playgroud)

我实际上想要得到一个观点,我看到它按每种颜色的骨骼总量排序,并查看数量.应该是这样的:

    Color   Amount   
    -----------------------
    white   9
    yellow  6
    brown   4
    black   4
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我只想到了以下查询:

SELECT Color,COUNT(*) as count FROM tablename GROUP BY Color ORDER BY count DESC;
Run Code Online (Sandbox Code Playgroud)

但这给了我:

    Color   Amount   
    -----------------------
    white   3
    yellow  3
    brown   2
    black   2
Run Code Online (Sandbox Code Playgroud)

哪个是具有不同值的事件计数,但不是我真正想要的.是否可以在一个查询中?如果这样的魔法可能,我该如何扩展呢?例如,我的数量相同,但是对于长度超过11厘米的骨头,我们可以这样说吗?

mysql sql

1
推荐指数
1
解决办法
804
查看次数

MySQL:如何根据从另一个表中选择的值来填充现有表的新列

我对SQL trully的了解不是很好,无法执行我想要的.我有两个表:一个是长数据表,有很多列,其中一个TypeName,最近我添加了新列到表TypeID(它是空的atm).喜欢:

column1   column2   column3   TypeName    TypeID
------------------------------------------------
...       ...       ...       name1         NULL
...       ...       ...       name2         NULL
...       ...       ...       name1         NULL
...       ...       ...       name3         NULL
...       ...       ...       name1         NULL
...       ...       ...       name4         NULL
...       ...       ...       name5         NULL
Run Code Online (Sandbox Code Playgroud)

第二个表我称之为referenceTable.它将每个可能的TypeName映射到TypeID.喜欢:

TypeID     TypeName
-------------------
0          name1
1          name2
2          name3
etc...
Run Code Online (Sandbox Code Playgroud)

我想在refference表中的基于数据表的对应值中填充TypeID.对此有什么疑问?

编辑:是的我想用正确的值TypeName填充TypeID列后从数据表中删除.当然,我正在寻找同时为整个表执行此操作的查询.

mysql sql

1
推荐指数
1
解决办法
8268
查看次数

标签 统计

mysql ×2

sql ×2