zoukankan      html  css  js  c++  java
  • mysql数据库对字段自定义排序的应用

    之前做项目 有个需求是

    二手租房按照 房租价格 从低到高排序,面议的价格要在最后显示出来

    因为数据库中 面议 的价格(price)是(-1,0)

    如果按照从低到高,面议的价格就会显示在最前面了,这不是项目需求要的。

    所以要写一个自定义的排序。

    MySQL 中 field自定义排序函数的格式

    order by field(value,str1,str2,str3,str4,,,,,,strn)

    其中value后面的参数自定义,不限制参数个数

    含义

    将获取出来的数据根据str1,str2,str3,str4等的顺序排序

    --------------------------------------------------------------------------------------------------

    SELECT
    `quan_post`.`id`,
    `quan_post`.`is_large`,
    `welife_center`.`city`.`name` AS `city_name`,
    `level_id`,
    `cate_id`,
    `quan_topic`.`title` AS `topic_title`,
    `quan_post_second`.`img_list`,
    `price_market`,
    `quan_post_second`.`type` AS `second_type`,
    `price`,
    `quan_post`.`anony`,
    `welife_system`.`user_wechat`.`sex`,
    `welife_system`.`user_wechat`.`nickname`,
    `quan_post_second`.`realname`,
    `welife_system`.`user_wechat`.`avatar`,
    `welife_system`.`user_wechat`.`has_auth`,
    `welife_system`.`user_wechat`.`auth_info`,
    `quan_post`.`type`,
    `is_essence`,
    `quan_post`.`title`,
    `quan_post`.`content`,
    `quan_post`.`num_view`,
    `quan_post`.`create_at`
    FROM
    `welife_quan`.`quan_post`
    LEFT JOIN `quan_topic` ON quan_topic.id = quan_post.topic_id
    LEFT JOIN `welife_system`.`user_wechat` ON welife_system.user_wechat.unionid = welife_quan.quan_post.user_id
    LEFT JOIN `quan_post_second` ON quan_post_second.pid = quan_post.id
    LEFT JOIN `welife_center`.`city` ON welife_center.city.id = welife_quan.quan_post.city_id
    WHERE
    (`quan_post`.`type` = 1)
    AND (`is_draft` = 0)
    AND (
    `quan_post_second`.`type` = '0'
    )
    AND (`quan_post`.`status` = 1)
    AND (`quan_post`.`status` != 3)
    AND (`quan_post`.`status` != 2)
    AND (`quan_post`.`status` != 4)
    ORDER BY
    FIELD(
    quan_post_second.price,
    - 1,
    0
    ),
    `quan_post_second`.`price`,
    `quan_post`.`sort` DESC,
    `quan_post`.`last_comment_time` DESC,
    `quan_post`.`create_at` DESC
    LIMIT 30

  • 相关阅读:
    VBS获取系统路径
    悟透LoadRunner 如何让多个场景顺序执行?
    Python天天美味(7) 连接字符串(join %)
    Python天天美味(5) ljust rjust center
    悟透LoadRunner 调用外部DLL的点点滴滴
    Python天天美味(2) 字符遍历的艺术
    2008到了!我的博客由原来的DeViL→Ivy改名为EverGreen!
    Python天天美味(1) 交换变量
    分享Silverlight/WPF/Windows Phone一周学习导读(10月1日10月15日)
    分享Silverlight/WPF/Windows Phone一周学习导读(08月01日08月06日)
  • 原文地址:https://www.cnblogs.com/wangshuazi/p/9831636.html
Copyright © 2011-2022 走看看