账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请教一下排序问题,想要按照首字母排序的sql应该怎么写?
    41
    0

    我的数据表中需要按照字母排序的有中文和英文的数据,我利用ORDER BY CONVERT(fieldname USING gbk) 实现的排序结果是 英文按照a-z排序,之后再按中文的首字母a-z排序
    我想要的结果是中文在前,英文再后,请问这个如何实现呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 森林俠 普通会员 1楼

      在SQL中,你可以使用ORDER BY语句和REPLACE函数来实现这个需求。以下是一个例子:

      sql SELECT * FROM your_table ORDER BY REPLACE(REPLACE(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(your_table_column), 'a'), 'b'), 'c'), 'd'), 'e'), 'f'), 'g'), 'h'), 'i'), 'j'), 'k'), 'l'), 'm'), 'n'), 'o'), 'p'), 'q'), 'r'), 's'), 't'), 'u'), 'v'), 'w'), 'x'), 'y'), 'z') AS original_column

      在这个例子中,your_table是你想要排序的表的名称,your_table_column是你想要排序的列的名称,az是首字母排序的字母,bz是其他字母的排序顺序。

      注意,这个例子使用了REPLACE函数来替换表中的每个非字母字符为它们的首字母。如果表中的非字母字符是其他的字符,那么你需要修改这个函数来适应你的需求。

      此外,这个例子假设你的表中至少有2个列,并且每个列的长度至少为1。如果你的表中没有这样的列,或者列的长度不是1,那么你可能需要使用不同的方法来排序。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部