mysql case when出来的数据如何排名
时间: 2023-07-07 17:40:04 浏览: 39
如果你想根据 `CASE WHEN` 语句的结果进行排名,可以将其作为子查询,并在外部查询中使用 `ORDER BY` 子句按照需要的顺序进行排序。例如:
```
SELECT *
FROM (
SELECT column1, column2, CASE WHEN condition THEN result1 ELSE result2 END AS my_result
FROM my_table
) subquery
ORDER BY my_result DESC;
```
这将返回一个带有 `my_result` 列的结果集,按照 `my_result` 列的值进行降序排序。你可以根据需要调整 `ORDER BY` 子句以实现所需的排序顺序。
相关问题
mysql case when 数据范围
MySQL中的CASE WHEN语句用于在查询中根据条件执行不同的操作。它可以用于创建数据范围。
以下是一个示例,演示如何使用CASE WHEN创建一个数据范围:
```
SELECT column_name,
CASE
WHEN column_name <= 100 THEN '0-100'
WHEN column_name > 100 AND column_name <= 200 THEN '101-200'
WHEN column_name > 200 AND column_name <= 300 THEN '201-300'
ELSE '超过300'
END AS range
FROM table_name;
```
在上面的查询中,我们根据column_name列的值创建了几个数据范围。如果值小于等于100,我们将范围设置为'0-100';如果值大于100且小于等于200,则范围为'101-200';如果值大于200且小于等于300,则范围为'201-300';否则,范围为'超过300'。
你可以根据自己的需求修改条件和范围。这只是一个简单的示例,你可以根据具体情况进行扩展和修改。
mysql case when 有数据置为null
在 MySQL 中,可以使用 CASE WHEN 语句将某些数据置为 NULL。具体方法如下:
```
SELECT
CASE
WHEN column1 = 'some value' THEN NULL
ELSE column1
END AS column1,
column2,
column3
FROM your_table;
```
上述 SQL 语句中,通过 CASE WHEN 语句判断 column1 是否等于某个值,如果等于,则将其置为 NULL,否则保留原值。最终将 column1、column2 和 column3 查询出来。
需要注意的是,如果使用了 NULL 值,可能会影响到后续的计算。因此,需要根据具体情况来决定是否使用 NULL 值。