sqlserver同时使用distinct和order,并保证某一行置顶
时间: 2024-02-04 12:01:52 浏览: 113
sqlserver中distinct的用法(不重复的记录)
可以使用以下的 SQL 语句来实现:
```
SELECT DISTINCT column_name
FROM table_name
ORDER BY CASE WHEN column_name = 'specific_value' THEN 0 ELSE 1 END, column_name ASC;
```
其中,`column_name` 表示要进行去重和排序的字段名,`table_name` 表示要进行操作的表名,`specific_value` 表示要置顶的某一行的特定值。
这个 SQL 语句会先按照 `CASE` 表达式来判断每一行的值是否等于特定值,如果等于则将其置顶,否则按照正常的升序排序。使用了 `DISTINCT` 关键字来保证去重。
阅读全文