在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL怎么使用union all获得并集排序

129次阅读
没有评论

共计 1678 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章将为大家详细讲解有关 MySQL 怎么使用 union all 获得并集排序,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

项目中有时候因为某些不可逆转的原因使得表中存储的数据难以满足在页面中的展示要求。之前的项目上有文章内容的展示功能,文章分为三个状态待发布、已发布、已下线。

他们在数据表中判断状态的字段(PROMOTE_STATUS)值分别为 0、1、2。一开始的需求是文章只展示待发布和已发布,已发布排在待发布前面,并且两种状态下在根据自己的情况去排序。这样的实现比较简单,如下的 order by 语句就可以实现了。

order by PROMOTE_STATUS desc,SEQUENCE_ID desc……

结果移交测试之后,产品觉得这里可以优化下,文章的展示要改为已发布、待发布、已下线(没错,已下线它突然就要了,而且很傲娇的排在了最后)。那怎么办嘞?改表将已发布、待发布、已下线的 PROMOTE_STATUS 对应值改为 2、1、0 肯定是行不通的,因为这个表其他的同事也用了。若是改了这里的对应关系。其他同事的代码的判断逻辑都得动。

所以就想到了 union all,然后还需要实现文章在三个状态下的各自展示顺序。所以,最终的思路就是将 PROMOTE_STATUS 分别为 1、0、2 时的数据查出来,然后根据每种状态下的情况进行 order by 排序,最后将各个子集 union all 之后返回给页面展示。

最终的 sql 语句如下:

select
 PROMOTE_ID,
 SEQUENCE_ID,
 PROMOTE_STATUS,
 PROMOTE_TITLE,
 RELEASE_DATE
 FROM (
 (SELECT
 PROMOTE_ID,
  SEQUENCE_ID,
  PROMOTE_STATUS,
 PROMOTE_TITLE,
 RELEASE_DATE 
 FROM SYS_TEXT_PROMOTE
 WHERE
 ENABLED_FLAG =  1 
 AND PROMOTE_STATUS=1
 AND SORT_ID = #{params.sortId}
 order by SEQUENCE_ID DESC,LAST_UPDATE_DATE DESC) a)
union all
select
 PROMOTE_ID,
 SEQUENCE_ID,
 PROMOTE_STATUS,
 PROMOTE_TITLE,
 RELEASE_DATE
 FROM (
 (SELECT
 PROMOTE_ID,
  SEQUENCE_ID,
  PROMOTE_STATUS,
 PROMOTE_TITLE,
 RELEASE_DATE 
 FROM SYS_TEXT_PROMOTE
 WHERE
 ENABLED_FLAG =  1 
 AND PROMOTE_STATUS=2
 AND SORT_ID = #{params.sortId}
 order by RELEASE_DATE DESC,LAST_UPDATE_DATE DESC) b)
union all
select
 PROMOTE_ID,
 SEQUENCE_ID,
 PROMOTE_STATUS,
 PROMOTE_TITLE,
 RELEASE_DATE
 FROM (
 (SELECT
 PROMOTE_ID,
  SEQUENCE_ID,
  PROMOTE_STATUS,
 PROMOTE_TITLE,
 RELEASE_DATE 
 FROM SYS_TEXT_PROMOTE
 WHERE
 ENABLED_FLAG =  1 
 AND PROMOTE_STATUS=0
 AND SORT_ID = #{params.sortId}
 order by RELEASE_DATE DESC,LAST_UPDATE_DATE DESC) c)

关于“MySQL 怎么使用 union all 获得并集排序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1678字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 成人欧美一区二区三区黑人3p | 一级国产在线观看高清 | 日本欧美韩国一区二区三区 | 丰满岳跪趴高撅肥臀尤物在线观看 | 久久青草精品2020最新款 | 欧美孕妇变态重口另类 | 中文字幕无码不卡免费视频 | 青青热久免费精品视频在线观看 | 国产亚洲精品美女久久久久 | 国产人成午夜免视频网站 | 日本黄色激情视频 | 曰本女人牲交高潮视频 | 日韩亚洲中字无码一区二区三区 | 黄瓜视频在线观看 | 中文字幕一级毛片 | 亚洲女人天堂a在线播放 | 美日韩一区二区三区 | 91精品国产露脸在线观看 | 欧美人伦禁忌dvd放荡欲情 | 亚洲av无码成人精品区在线观看 | 九九精品免费 | 高清国产精品久久久久 | 亚洲欧美一区二区三区日产 | 毛片视频在线免费观看 | 呦交小u女国产秘密入口 | 国产精品性视频免费播放 | 亚洲第一色图 | 午夜福利伦伦电影理论片在线观看 | 尤里和露珠2韩剧在线观看中文版 | 国产亚洲精品资源在线26u | 国产精品一区不卡 | 国产精品久久久久久久久软件 | 欧美色碰碰碰免费观看长视频 | 国产宾馆视频 | 无码欧精品亚洲日韩一区 | 亚洲成a人片在线观看天堂无码 | 最新国产一区二区精品久久 | 国产亚洲精品成人aa片新蒲金 | 黄色a级国产免费大片 | 丰满五十六十老熟女hd | 一区在线播放 |