mysql 查询人员zjz字段 优先选取 "专职", 专职人员没有在 选取"兼职"
时间: 2023-07-05 20:28:04 浏览: 134
您可以使用如下的 SQL 语句来查询人员 zjz 字段,优先选取 "专职",如果 "专职" 人员不存在,则选取 "兼职" 人员:
```
SELECT *
FROM employees
WHERE zjz = '专职'
ORDER BY zjz DESC
LIMIT 1
UNION
SELECT *
FROM employees
WHERE zjz = '兼职'
ORDER BY zjz DESC
LIMIT 1;
```
这个查询语句会先查询 zjz 字段为 "专职" 的人员,然后按照 zjz 字段进行倒序排序,从而将 "专职" 排在前面。如果有 "专职" 人员,则只取第一条记录。如果没有 "专职" 人员,则查询 zjz 字段为 "兼职" 的人员,按照 zjz 字段进行倒序排序,从而将 "兼职" 排在前面,取第一条记录。
相关问题
mysql 随机抽取,zjz = "1" 优先,如果没有zjz = "1" 则抽取 zjz = "2"的数据
您可以使用以下 SQL 语句来实现您的需求:
```
SELECT * FROM your_table_name WHERE zjz = '1' OR zjz = '2' ORDER BY (zjz = '1') DESC, RAND() LIMIT 1
```
这个 SQL 语句将会从您的表中随机抽取一行数据,但是会优先选择 zjz 字段值为 "1" 的数据,如果没有符合条件的数据,则会选择 zjz 字段值为 "2" 的数据。如果两个条件都没有符合的数据,那么将会返回空结果集。
需要注意的是,这个 SQL 语句的效率可能会比较低,因为要用到随机函数和排序操作,如果您的表中数据比较大,可能会导致查询时间较长。如果您有更多的查询需求,可以提供更多的细节和条件,我可以为您提供更详细的 SQL 语句。
mysql 随机抽取,zjz = "1" 优先
您可以使用以下 SQL 语句来实现您的需求:
```
SELECT * FROM your_table_name WHERE zjz = '1' ORDER BY RAND() LIMIT 1
```
这个 SQL 语句将会从您的表中随机抽取一行数据,但是会优先选择 zjz 字段值为 "1" 的数据。如果没有符合条件的数据,那么将会返回空结果集。
需要注意的是,这个 SQL 语句的效率可能会比较低,因为要用到随机函数和排序操作,如果您的表中数据比较大,可能会导致查询时间较长。如果您有更多的查询需求,可以提供更多的细节和条件,我可以为您提供更详细的 SQL 语句。
阅读全文