如何根据“,”排序

jishengzu 2010-06-14 12:35:26
表table

text
--------
1,2,3,
1,

2,3,4,
5,6,4,1,

按“,”查询后想要的结果是

text
------
5,6,4,1,
2,3,4,
1,2,3,
1,

总之就是让“,”最多的排第一行,其他无所谓。要考虑无值的情况
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2010-06-14
  • 打赏
  • 举报
回复
晕,点的时候还是零回复
-狙击手- 2010-06-14
  • 打赏
  • 举报
回复
order by len([text]) - len(replace([text],',','')) desc
jishengzu 2010-06-14
  • 打赏
  • 举报
回复
谢啦 我试试看然后结贴
dawugui 2010-06-14
  • 打赏
  • 举报
回复
create table tb([text] varchar(20))
insert into tb values('1,2,3,')
insert into tb values('1,')
insert into tb values('')
insert into tb values('2,3,4,')
insert into tb values('5,6,4,1,')
go

select * from tb order by len([text]) - len(replace([text],',','')) desc

drop table tb

/*
text
--------------------
5,6,4,1,
2,3,4,
1,2,3,
1,


(所影响的行数为 5 行)

*/
liangCK 2010-06-14
  • 打赏
  • 举报
回复
ORDER BY LEN(text)-LEN(REPLACE(text,',','')) DESC
dawugui 2010-06-14
  • 打赏
  • 举报
回复
select * from tb order by len([text]) - len(replace([text],',','')) desc
andy_liucj 2010-06-14
  • 打赏
  • 举报
回复
来学习下

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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