case when去重
时间: 2023-10-20 17:07:07 浏览: 57
可以使用以下语句进行去重:
```
SELECT DISTINCT column_name FROM table_name;
```
其中,`column_name`是需要去重的列名,`table_name`是需要操作的表名。
如果需要根据多个列进行去重,可以使用以下语句:
```
SELECT DISTINCT column_name1, column_name2, ... FROM table_name;
```
其中,`column_name1`、`column_name2`等是需要去重的列名。
相关问题
case when 去重
如果您想要在 SQL 中使用 `CASE WHEN` 去重,可以使用 `DISTINCT` 关键字。例如,假设您有一个名为 `students` 的表格,其中包含学生的姓名和国籍,您可以使用以下语句来选择不同国籍的学生:
```
SELECT DISTINCT
CASE
WHEN nationality = 'China' THEN '中国'
WHEN nationality = 'USA' THEN '美国'
WHEN nationality = 'Japan' THEN '日本'
ELSE '其他'
END AS country
FROM
students;
```
这将返回一个结果集,其中包含不同国籍的学生数。请注意,`DISTINCT` 关键字将确保结果集中没有重复的值。
mysql case when 去重_【Mysql】 case ... when ... 用法
MySQL的CASE语句可以用于在查询过程中进行条件判断和返回结果。
语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
[ELSE else_result]
END
```
其中,expression是需要判断的表达式,value1、value2等是被判断的值,result1、result2等是对应值的返回结果,ELSE是可选的,表示当所有值都不满足时的默认返回结果。
如果要在查询中使用CASE语句进行去重操作,可以将CASE语句作为一个字段,然后使用DISTINCT关键字进行去重。
例如,假设有一个表students,其中有两个字段name和score,现在要查询每个学生的姓名和成绩等级(成绩大于等于90分为A,大于等于80分为B,大于等于70分为C,否则为D),并去重后返回结果,可以使用以下SQL语句:
```
SELECT DISTINCT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students
```
这样就可以得到每个学生的姓名和成绩等级,并且去重后返回结果。
阅读全文