sql求两个值范围筛选求薪资范围,两圆面积算法

sql 编程进阶笔记
发布日期 2023-02-20 更新日期 2023-04-30 阅读次数 197 文章字数 474

今天写了个sql一直都不太对,最终用数学推演了一下,才得到结果,很有意思。

已知期望薪资是一个范围。可能 1000-10000,也可能6000-7000,4000-9000等

页面筛选条件,也是两个值。比如 4000以下,4000-6000,6000-8000,8000-1万,1万以上则也有两个值。

当筛选4000以下,或者1万以上只需要判断最大值小于4000,或者最小值大于1万即可。

而输入 4000-8000 筛选条件时,则只要有任何一个值在这个范围内都需要显示出来。

直接取交集比较困难,此时可以把两个值看成两个圆,共有5种位置关系。

可以看到除了“外离”,都有交集。

用文字理解,就是:小于最小值,或者大于最大值,就是没有交集的。

则计算并取反,即可得到结果:

 $b<min_salary || $a>max_salary  => 
¬($b<min_salary || $a>max_salary) =>
¬($b<min)&&¬($a>max)=>
$b>=min && $a<=max

最终结果是:最小值<=输入的最大值 && 最大值>=输入的最小值

 


声明本文为转载,原文地址: https://www.huazstar.net/blog/post-421.html

sql

发表评论

相关推荐
朱丰华   |   1年前   |   sql · mysql

mysql Timestamp或dateTime格式筛选

126    评论    点赞
朱丰华   |   1年前   |   mysql · 变量 · sql

MySQL实现行号-自定义变量

113    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

95    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

115    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

68    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql GROUP_CONCAT 顺序排序

84    评论    点赞
朱丰华   |   1年前   |   python · linux · www

linux给www用户【非root】安装python3

186    评论    点赞
朱丰华   |   1年前   |   python

python pip离线安装某个包

130    评论    点赞
朱丰华   |   1年前   |   php · 编译

ubuntu、centos系统从源码编译指定版本php--超详细

158    评论    点赞
朱丰华   |   1年前   |   php · git · 编译

从源码编译php

135    评论    点赞
朱丰华   |   1年前   |   linux · sql · sqlite · package · sqlite3

linux安装环境ERROR: PACKAGE REQUIREMENTS (SQLITE3 > 3.7.4) WERE NOT MET: NO PACKAGE ‘SQLITE3’

264    评论    点赞
朱丰华   |   1年前   |   php · zend · 反射 · api

php zend引擎api接口:ZENDAPI阅读,反射调用示例

123    评论    点赞
朱丰华   |   1年前   |   mysql

MySQL获取上一篇下一篇文章

117    评论    点赞
朱丰华   |   1年前   |   mysql

MySQL中的 ` 有什么用?

135    评论    点赞
朱丰华   |   1年前   |   dao · sql · model · 代码 · 处理 · mvc · 分为 · service · 为什么 · 分离

mvc 的 model 层为什么要分为service和dao?

98    评论    点赞
朱丰华   |   1年前   |   店铺 · 商品 · mysql · like · 查询 · id · store · FROM · SELECT · WHERE

mysql like查询店铺和商品

79    评论    点赞
朱丰华   |   2年前   |   执行 · 文件 · sql · 自动 · 更新 · 程序 · 数据库 · 方案 · 如果 · 版本

程序跨版本自动升级,自动同步数据库的两种方案

81    评论    点赞
朱丰华   |   2年前   |   字符串 · 简单 · 正则 · 配置 · id · 可以 · sql · 通用 · 方案 · int

字符串和正则,简单的sql通用配置方案

89    评论    点赞
朱丰华   |   2年前   |   range · php · foreach · 循环 · 用法 · 可以 · >

php foreach range循环用法

74    评论    点赞
朱丰华   |   2年前   |   配置 · sql · 常见 · 设计 · 级别 · 类型

sql之常见的配置表设计

81    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞