mysql中
na表中有一字段 id  nature,其记录是: id  nature
 1   1:外商独资
 2   6:事业单位
 3   7:民营/私企
 4   10:其他
(注  7:民营/私企  这是一个值)
要求用SQL语句来查记录,其中排序按  非民营/私企 优先(其它几类随意排,只要把 非民营/私企 优先就可),民营/私企 靠后。SQL语句应该如何写。

解决方案 »

  1.   

    select * from na order by locate('民营/私企', nature, 1) asc
      

  2.   

    这要解释什么呢?
    排序键可以是表达式,这是sql的约定
    locate函数返回第一个参数在第二个参数中第一次出现的位置,不在则返回0。这是mysql预置的函数
    asc 指定排序方式为 升序
    于是含有‘民营/私企’字样的记录就被放在后面了
      

  3.   

    http://www.enjoyphp.com/2009/lamp/mysql-lamp/mysql-order-by/不知道这篇文章是否对你有用!