doupuchen6378 2014-09-23 09:47
浏览 232
已采纳

如何按字段顺序使用以及按ID排序

i have the lot of data and i have to short data that has on Approval and Approval data with short id descending.

Like the following query:

 $query = "select * from event ORDER BY FIELD(status, 'Approval') desc";

But when new data added in event table. as when new data added in table its status is on Approval. and when i show the data .data is not sorted with event id descending.

I am confused how to use both order by field and order by id descending please help

Thanks and Regards

  • 写回答

1条回答 默认 最新

  • dongqing7789 2014-09-23 09:49
    关注

    You can do as following if you want the Approval to appear first and then by descending order of id

    select * from event 
    ORDER BY FIELD(status, 'Approval') desc ,event_id desc
    

    Here is a real time example

    mysql> select idusers from users where status = 'paid' order by idusers desc limit 1 ;
    +---------+
    | idusers |
    +---------+
    |  150949 |
    +---------+
    1 row in set (0.00 sec)
    

    Above is to get the most recent paid user

    mysql> select idusers,status from users order by field (status,'paid')desc , 
            idusers desc limit 3;
    +---------+--------+
    | idusers | status |
    +---------+--------+
    |  150949 | paid   |
    |  150948 | paid   |
    |  150947 | paid   |
    +---------+--------+
    

    In the above the most recent is the first row followed by others.

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

报告相同问题?