dsg435665475 2015-02-12 11:31
浏览 30
已采纳

如何在mysql查询中获取排序结果?

I am trying to get a sorted result from a MySQL query and i dont have any idea of making the query.

I have a example Mysql table as follows :

     id | cat_type
     1  |  free
     2  |  free
     3  |  free
     4  |  free
     5  |  paid
     6  |  paid
    ... |  ...
    ... |  ...
    ... |  ...
   and it goes on.

The result should be as follows from the above table :

     id | cat_type
     1  | free 
     2  | free 
     5  | paid

     3  | free 
     4  | free 
     6  | paid

    ... | free
    ... | free
    ... | paid
  and goes on(should be sorted)

The total result should be splitted as 3. In the first three result, first two should be free and the next one should be paid likewise all the remaining result should be sorted as two free and one paid.

Any idea how to accomplish this using a query?

NOTE : The most important is that it should be sorted as two free and one paid. Not by ID.

Thanks.

  • 写回答

1条回答 默认 最新

  • douyi1341 2015-02-12 11:46
    关注

    For you particular data, you could do:

    order by (case when cat_type = 'free' then id*1.0
                   else 2*id - 7.5
              end)
    

    This seems very arcane. If you have a more general problem, you should ask another question, giving a better description of what you really want to accomplish.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 使用Java milo连接Kepserver服务端报错?
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了
  • ¥15 微信小程序商城如何实现多商户收款 平台分润抽成