如何将一个表中的行合并到另一个表中的另一行

时间:2012-11-22 14:37:06

标签: mysql sql

我想将一个表中的行合并到另一个表中的另一行

与“名称”相关的“金额”总值超过10,但分成几部分

如果“金额”列的值小于10 收集小于10的所有人 汇集“描述”栏的值 哪里有相同的名字

我的目标是在新表格中不存在低于10的行“金额”

又名

我想要这张表格 - 'table'

  

id(1)name(Name1)description(Description1)amount(5.50)

     

id(2)name(Name1)description(Description2)amount(5.50)

     

id(3)name(Name2)description(Description1)amount(3.50)

     

id(4)name(Name2)description(Description1)amount(3.50)

     

id(5)name(Name2)description(Description2)amount(3.50)

     

id(6)name(Name3)description(Description3)amount(10.00)

在新表格中加入 - “newtable”

  

Newid(1)名称(Name1)描述(Description1,Descripton2)金额(11.00)

     

Newid(2)name(Name2)description(Description1,Description1,Descripton2)amount(10.50)

     

Newid(3)名称(Name3)描述(Description3)金额(10.00)

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用group bygroup_concatsum

这是一个小样本:

SELECT
`name`,
group_concat(`description`) as `description`,
sum(`amount`) as `amount` 
FROM `table_name`
GROUP BY `name`
顺便说一句,我忘了问:What have you tried?

答案 1 :(得分:0)

也许是这样的:

select into newtable(name,newdesc,amt)
SELECT name,
        GROUP_CONCAT(DISTINCT description
                  ORDER BY id DESC SEPARATOR ' '), sum(amount)
     FROM table
     GROUP BY name;