!!!救命啊,这个排序怎么写,!!!!!

whcyl 2007-08-10 09:43:24
id name
0 正品
1 特价
2 配件
3 赠品
如果我想对name进行排序,而不是对id进行排序,怎么排,
不是按照汉字的拼音哦,而是根据特定情况

可能是按照正品,特价,配件,赠品的循序
有可能是按照正品,配件,赠品,特价
反正什么可能都有,都是根据业务的需要来变的

假如我现在要按正品,配件,赠品,特价来排序吧
怎么排?谢谢
...全文
161 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2007-08-10
  • 打赏
  • 举报
回复
whcyl(), 你的子段是CHAR類型?
whcyl 2007-08-10
  • 打赏
  • 举报
回复
果然是高手,其实你开始也不算错,只是我还需要在你的语句上加一个RTRIM()
天开之想 2007-08-10
  • 打赏
  • 举报
回复
高手
qing2005 2007-08-10
  • 打赏
  • 举报
回复
你可以试试,增加一个sort字段
zjx_sir 2007-08-10
  • 打赏
  • 举报
回复
同意楼上
paoluo 2007-08-10
  • 打赏
  • 举报
回复
看測試結果吧

--創建測試環境
Create Table 表
(id Int,
name Nvarchar(10))
--插入數據
Insert 表 Select 0, N'正品'
Union All Select 1, N'特价'
Union All Select 2, N'配件'
Union All Select 3, N'赠品'
GO
--測試
Select * From 表 Order By CharIndex(name, N'正品,配件,赠品,特价')
GO
--刪除測試環境
Drop Table 表
--結果
/*
id name
0 正品
2 配件
3 赠品
1 特价
*/
paoluo 2007-08-10
  • 打赏
  • 举报
回复
whcyl() ( ) 信誉:100 2007-08-10 10:08:30 得分: 0


Select * From 表 Order By CharIndex(name, '正品,配件,赠品,特价')
我试了下
这句不行哦


-----------
你怎麼測試的?怎麼可能不行?
whcyl 2007-08-10
  • 打赏
  • 举报
回复
Select * From 表 Order By CharIndex(name, '正品,配件,赠品,特价')
我试了下
这句不行哦
paoluo 2007-08-10
  • 打赏
  • 举报
回复
可以實現,這樣即可

Select * From 表 Order By CharIndex(name, '正品,配件,赠品,特价')
lxs5i5j 2007-08-10
  • 打赏
  • 举报
回复
新建排序表,设定你需要的顺序
chuxue1342 2007-08-10
  • 打赏
  • 举报
回复
我也没搞懂文字排序的原理是什么!!要不你自己重写一下排序!!
小明aa 2007-08-10
  • 打赏
  • 举报
回复
错了,是楼上的楼上
小明aa 2007-08-10
  • 打赏
  • 举报
回复
楼上说的对,只有多设置个字段(排序的字段),这样就解决了
whcyl 2007-08-10
  • 打赏
  • 举报
回复
在不增加排序列的前提下能实现吗?
听说好象在语句里面加上if 把name转换什么的,具体我也不清楚

能实现吗
shilei831115 2007-08-10
  • 打赏
  • 举报
回复
建议增加排序列(或者单开排序表) 专门排序 否则无法实现LZ所说的功能…………

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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