Group by组合后记录的显示顺序问题

shengbang2013 2013-11-14 10:06:16
原记录表中是这样的

品名 单价 数量 小计
商品2 80 2 160
商品1 20 1 20
商品3 10 1 10
商品1 20 1 20
商品2 80 1 80
商品3 10 1 10

想输出后显示

品名 单价 数量 小计
商品2 80 3 240
商品1 20 2 40
商品3 10 2 20

按照原表从上到下的顺序组合输出显示。使用以下语句无法实现
select 品名,单价,sum(数量),sum(小计) from 表 group by 品名,单价
...全文
294 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kobe8free 2013-11-14
  • 打赏
  • 举报
回复
select 品名,单价,sum(数量),sum(小计) from 表 group by 品名,单价 order by 品名 asc 这个就是它默认的, 如果想那样子排序最好加一个唯一标识的字段,为pk的 可以 order by 字段 asc
WWWWA 2013-11-14
  • 打赏
  • 举报
回复
引用 7 楼 shengbang2013 的回复:
原表的第一个商品是什么,输出后显示的表中第一个商品就是什么,原表的第二个商品是什么,输出后显示的表中第二个商品就是什么,以此类推
 除非表中有唯一标识的字段,否则无法实现
shengbang2013 2013-11-14
  • 打赏
  • 举报
回复
原表的第一个商品是什么,输出后显示的表中第一个商品就是什么,原表的第二个商品是什么,输出后显示的表中第二个商品就是什么,以此类推
shengbang2013 2013-11-14
  • 打赏
  • 举报
回复
我的意思是原表的第一个商品是什么,输出后显示的商品就是什么,原表的第二个商品是什么,输出后显示的商品就是什么,以此类推
shengbang2013 2013-11-14
  • 打赏
  • 举报
回复
我的意思并不是按数量或者小计,来排序,而是想让它按照原来表的顺序输出显示。
rucypli 2013-11-14
  • 打赏
  • 举报
回复
select 品名,单价,sum(数量),sum(小计) from 表 group by 品名,单价 order by 4 desc;
liuxinran819 2013-11-14
  • 打赏
  • 举报
回复
第四列,第三列的意思 你也可以写: select 品名,单价,sum(数量) as count_num,sum(小计) as total from 表 group by 品名,单价 order by total, count_num;
shengbang2013 2013-11-14
  • 打赏
  • 举报
回复
4,3 是什么意思?
WWWWA 2013-11-14
  • 打赏
  • 举报
回复
select 品名,单价,sum(数量),sum(小计) from 表 group by 品名,单价 order by 4,3

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧