hive sql经典训练提升题
1. 在一个表中,有一个包含重复值的字段,请写出一条 SQL 语句实现去重。
```
SELECT DISTINCT field_name FROM table_name;
```
2. 在一个表中,有两个字段 id 和 name,请写出一条 SQL 语句实现按照 id 逆序排序,并只返回前 10 条数据的 name 字段。
```
SELECT name FROM table_name ORDER BY id DESC LIMIT 10;
```
3. 在一个表中,有一个字段 date_string,其格式为 yyyyMMdd,请写出一条 SQL 语句将其转
换为 yyyy-MM-dd 的格式。
```
SELECT DATE_FORMAT(date_string, "yyyy-MM-dd") FROM table_name;
```
4. 在一个表中,有一个字段 age,请写出一条 SQL 语句查询年龄大于 18 岁的人数。
```
SELECT COUNT(*) FROM table_name WHERE age > 18;
```
5. 在一个表中,有一个字段 content,其值包含数个空格,请写出一条 SQL 语句将其中的空格去除。
```
SELECT REPLACE(content, " ", "") FROM table_name;
```
6. 在一个表中,有一个字段 salary,请写出一条 SQL 语句查询薪资排名在第 10 至 20 名的人员姓名、薪资、以及排名。
select中distinct```
SELECT name, salary, rank FROM (
SELECT name, salary, dense_rank() OVER (ORDER BY salary DESC) as rank
FROM table_name
) t
WHERE rank BETWEEN 10 AND 20;
```
7. 在一个表中,有一个包含 NULL 值的字段,请写出一条 SQL 语句将其替换为 "N/A"。
```
SELECT COALESCE(field_name, "N/A") FROM table_name;
```
8. 在一个表中,有一个字段 price,请写出一条 SQL 语句计算其平均值,并保留两位小数。
```
SELECT ROUND(AVG(price), 2) FROM table_name;
```
9. 在一个表中,有一个字段 gender,其值为 "Male" 或 "Female",请写出一条 SQL 语句查询男性和女性的人数,并将结果按照性别分别显示。
```
SELECT gender, COUNT(*) FROM table_name GROUP BY gender;
```
10. 在一个表中,有一个字段 time,其值为 Unix 时间戳,请写出一条 SQL 语句将其转换为标准时间格式。
```
SELECT FROM_UNIXTIME(time) FROM table_name;
```
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论