当它们具有相同的ID但列值不同时,我试图将不同的行合并为一个。
(table1)
id colour
1 red
1 blue
2 green
2 red
我希望将其结合起来,这样结果是:
id colour1 colour2
1 red blue
2 green red
颜色数量没有限制。它的范围取决于ID。
任何帮助将不胜感激!预先感谢。
答案 0 :(得分:0)
这将适用于您的特定示例
let arr = [
{ quantity: 1, price: 30 },
{ quantity: 1, price: 40 },
{ quantity: 2, price: 10 },
{ quantity: 1, price: 10 }
]
let reducer = (acc, cur) => {
return acc + (Number(cur.quantity) * Number(cur.price));
};
console.log(arr.reduce(reducer, 0));
// 100
不太笼统或不健全。
如果一组值(颜色)是固定的,则我希望将其设置为这样:
select left(colours,locate(',',colours)-1) as colour1
, right(colours, length(colours)- locate(',',colours)) as colour2
from
(select id, group_concat(colour) as colours
from table1
group by id) concatenation
但这不是您要求的输出格式。