SQL查询排序问题

zhuhao 2012-10-02 10:06:39
SELECT * , group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' ),group_concat(' ' , `order_id` , ' ') FROM ( select * from `sale_orders` order by `sku`) T WHERE `shipments` =0 AND `number` =$id GROUP BY `recipient-name` , `ship-address-1` ORDER BY `sku`

以下为查询的结果:

ship name group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' )
001-01 wang A0015-00-04-23 X 1
002-02 liu A0041-00-WW-25 X 1 , A0042-00-AC-25 X 1
003-03 li A0041-00-WW-25 X 1 , A0042-00-AC-25 X 1 , A0256-00-O6-34 X 1
004-04 fang A0041-00-WW-25 X 1 ,A0042-00-AC-25 X 1 , A0217-00-SI-33 X 1

请问怎么在此基础上再按group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' )字段的SKU个数来排序(就是字符串长度)
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2012-10-03
  • 打赏
  • 举报
回复
order by length(group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' ))
ACMAIN_CHM 2012-10-03
  • 打赏
  • 举报
回复
SELECT * , group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' ),group_concat(' ' , `order_id` , ' ') FROM ( select * from `sale_orders` order by `sku`) T WHERE `shipments` =0 AND `number` =$id GROUP BY `recipient-name` , `ship-address-1` ORDER BY `sku`, length(group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' ))

56,687

社区成员

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

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