order by 、group by 、distinct 的用法,数据从tab_details中检索和举例讲解。
时间: 2024-11-22 11:38:31 浏览: 23
在SQL查询中,`ORDER BY`, `GROUP BY`, 和 `DISTINCT` 都是非常重要的关键字,用于处理和组织数据库中的数据。
1. **ORDER BY**: 这个关键字用于对结果集中的行按照指定的列进行排序。例如,如果你有一个名为 `tab_details` 的表,其中有 `id` 和 `score` 列,你可以这样查询:
```
SELECT * FROM tab_details ORDER BY score DESC;
```
这将返回所有记录,并按 `score` 降序排列。如果你想升序排序,只需去掉 `DESC` 或加上 `ASC`。
2. **GROUP BY**: 当你想对某个列进行分组并计算每组的汇总信息时,就使用这个。例如,假设你想按 `category_id` 分组并求每个分类的总分:
```
SELECT category_id, SUM(score) as total_score FROM tab_details GROUP BY category_id;
```
这将返回每个 `category_id` 下的总分数。
3. **DISTINCT**: 这个关键字用于去除查询结果中的重复行。例如,如果只想获取唯一的 `category_name`:
```
SELECT DISTINCT category_name FROM tab_details;
```
结合起来,比如查找每个分类最高的得分:
```
SELECT category_id, MAX(score) as max_score
FROM tab_details
GROUP BY category_id;
```
这里我们先按 `category_id` 分组,然后计算每个组的最大 `score`。
阅读全文