我想将一个表中的行合并到另一个表中的另一行
与“名称”相关的“金额”总值超过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)
有什么想法吗?
答案 0 :(得分:0)
您可以使用group by
,group_concat
和sum
。
这是一个小样本:
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;