SQL分组汇总排序

来源:百度知道 编辑:UC知道 时间:2024/06/03 01:10:38
表中有许多菜品,每个菜品又有相应的配料,菜品的显示顺序000*,相应配料的显示顺序000*000#,需要的效果是:当菜品名称相同,并且菜品的所有配料都相同时,做汇总,菜品汇总数量与总价,相应的配料放在菜品汇总的下面
表如下
菜品 数量 总价 显示循序
香仁饼干 2 12 0001
奶油 1 6 00010001
法式起点 1 5 00010002
滴滤咖啡 3 18 0002
香仁饼干 3 18 0003
奶油 2 12 00030001
法式起点 1 5 00030002

整理效果
菜品 数量 总价 显示循序
香仁饼干 5 30 0001
奶油 3 18 00010001
法式起点 2 10 00010002
貌似这个很难,换个功能啦。为各个菜品的配料做汇总,就是当某个菜品里有名字相同的配料时就汇总数量跟总价。注意:只是汇总当前菜品的,不要把所有菜品里的配料都汇总进来#83

华子,我来看你.....

select da.*,(select top 1 显示循序 from 表 where 菜品=da.菜品) from
(select sum(数量) as a,sum(总价) as b,菜品 from 表 group by 菜品) da

不太明白你的所有配料相同的条件

SELECT 菜品,SUM(数量) 数量,SUM(总价) 总价,MIN(显示循序) 显示循序
FROM 表
GROUP BY 菜品
HAVING COUNT(菜品)>1
ORDER BY 2 DESC