Mr_Mmang_YQ
Mr_Mmang
2017-08-08 07:28
采纳率: 52%
浏览 1.0k

sql,linq 数据的排序分组

图片说明
sql select * from Spec t where t.Pid ='320202142' and t.IsSpec ='0' ORDER BY city desc sql写了倒序不知道怎么写了
sql 和linq的写法怎么写呢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • github_38806262
    github_38806262 2017-08-08 09:17
    已采纳

    这样试试:

    sql select * from Spec t where t.Pid ='320202142' and t.IsSpec ='0' ORDER BY (case when t.city ='苏州' then 0 else 1 end)

    亲测有效:图片说明

    点赞 评论
  • hao18735044791
    CHAS-许可 2017-08-08 09:01

    在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择:

    按中文拼音进行排序:SCHINESE_PINYIN_M
    按中文部首进行排序:SCHINESE_RADICAL_M
    按中文笔画进行排序:SCHINESE_STROKE_M

    直接写在sql中,例如:
    SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_PINYIN_M');
    SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_STROKE_M');
    SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_RADICAL_M');

    配置在初始化参数NLS_SORT中,这可以在数据库创建时指定,也可以通过alter session来修改.如果是前者,则在所有session中生效.例如:
    使用select * from NLS_SESSION_PARAMETERS;语句可以看到NLS_SORT的值.
    更改配置文件:alter system set nls_sort='SCHINESE_PINYIN_M' scope=spfile;
    更改session:alter SESSION set NLS_SORT = SCHINESE_PINYIN_M;

    点赞 评论

相关推荐