MySQL合并行值

时间:2018-10-29 21:03:57

标签: mysql

请原谅我对MySQL术语的无知,我相信有更好的方法来询问这个问题...

我正在寻找一种在经过精心设计的数据库中查询表的方法,该数据库继承了数十万行,并按照下面的示例减少结果,将具有相同行的每一行的projectcost字段值相加公司名称字段中列出的值。

表格示例:

companyname  projectcost  typeofproject
company1     1000          network
company1     2000          network
company1     500           servers
company2     1000          network
company2     500           network
company2     500           security

我希望能够这样获得每个公司每个项目的总成本:

companyname projectcost typeofproject company1 3000 network company1 500 servers company2 1500 network company2 500 security

并这样:

companyname projectcost company1 3500 company2 2000

1 个答案:

答案 0 :(得分:0)

这可以通过要分组的列(公司名称项目类型)中的简单 GROUP BY 子句来完成,然后使用 projectcost 列上的 SUM()汇总方法。

对于第一个查询,您可以执行以下操作:

SELECT
    companyname,
    typeofproject,
    SUM(projectcost)
FROM
    <table_name>
GROUP BY
    companyname, typeofproject

对于第二个查询,它将执行以下操作:

SELECT
    companyname,
    SUM(projectcost)
FROM
    <table_name>
GROUP BY
    companyname