SQL基础问题,求帮忙。急急急!

id 产品名 销量 成本 备注
1 水 100 5000 A厂家
2 水 200 7000 B厂家

如何根据产品名将他们合并成一条数据:
id 产品名 销量 成本 备注
1 水 300 12000 A厂家, B厂家

13个回答

select min(id), 产品名,sum(销量),sum(成本) from 表名 group by 产品名

Treotwots
Treotwots 回复qq_39372401: 1和2合并可不就是取两者之间最小的数字1嘛
大约 2 年之前 回复
jikunshan123
jikunshan123 回复qq_39372401: 在Oracle中直接写ID报错,MySQL好像没有这么严格
大约 2 年之前 回复
qq_39372401
qq_39372401 id加个min是为啥?
大约 2 年之前 回复

为什么不在代码里进行处理,sql处理效率低下

group by 产品名 其他的sum

java_freshman_
java_freshman_ 回复qq_39372401: concat()可以进行字符串拼接,你可以自己看下,自连接查询,拼接你想要的字符串
大约 2 年之前 回复
vaidiy
vaidiy group_concat(字符串) 把字符串用这个拼接就行啦
大约 2 年之前 回复
qq_39372401
qq_39372401 我有一个是字符串,怎么sum?
大约 2 年之前 回复

实用 sum函数,group by 产品名,实际SQL:Select min(ID),产品名,sum(销量),sum(成本) from 表名 group by 产品名

qq_39372401
qq_39372401 有个字符串怎么解决?
大约 2 年之前 回复

select *,sum(销量),sum(成本) from 表 group by 产品名

SELECT CityName,STUFF((SELECT ',' + UserName FROM aa subTitle WHERE CityName=A.CityName FOR XML PATH('')),1, 1, '') AS A
FROM aa A
GROUP BY CityName

INSERT INTO TableName
SELECT 产品名, (select sum(销量) from tablename where 产品名='水') AS 销量, (select sum(成本) from tablename where 产品名='水') AS 成本
FROM TableName
产品名='水'

DELETE FROM TableName WHERE 产品名 IN('水');

SELECT * FROM TableName

select 产品名,sum(销量),sum(成本) from 表名 group WHERE 产品名 IN('水');

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问