MySQL基本操作03

MySQL基本简单操作

现在我创建了一个数据表,表的内容如下:

mysql> select * from gubeiqing_table;
+----------+-----+
| name | age |
+----------+-----+
| gbq | 21 |
| zhangsan | 20 |
| lisi | 22 |
+----------+-----+
3 rows in set (0.00 sec)

我现在需要对这些数据按照年龄进行一个升序排序。

mysql> select * from gubeiqing_table order by age ASC;
+----------+-----+
| name | age |
+----------+-----+
| zhangsan | 20 |
| gbq | 21 |
| lisi | 22 |
+----------+-----+
3 rows in set (0.00 sec)

可以看到现在的数据库已经按照升序的方式进行排序了。
order by是用来排序的,ASC是升序排序,DESC是降序排序。

现在我有一个这样的数据表。

mysql> select * from gubeiqing_table;
+----------+-----+
| name | age |
+----------+-----+
| gbq | 21 |
| zhangsan | 20 |
| lisi | 22 |
| zhangsi | 21 |
| lisan | 22 |
+----------+-----+
5 rows in set (0.00 sec)

我想知道这个数据表里有哪些年龄段。

mysql> select age from gubeiqing_table group by age;
+-----+
| age |
+-----+
| 21 |
| 20 |
| 22 |
+-----+
3 rows in set (0.00 sec)

首先从数据表中查找age字段,接着通过group by将这些年龄分组。
还可以统计这些年龄分别有多少人。

mysql> select age,count(*) from gubeiqing_table group by age;
+-----+----------+
| age | count(*) |
+-----+----------+
| 21 | 2 |
| 20 | 1 |
| 22 | 2 |
+-----+----------+
3 rows in set (0.00 sec)

接着学一下联合查询,使用UNIONUNION用于连接两个以上的SELECT语句的结果组合到一个结果集合中,多个SELECT语句会删除重复的数据。。

mysql> show tables;
+---------------------+
| Tables_in_gubeiqing |
+---------------------+
| gbq |
| gubeiqing_table |
+---------------------+
2 rows in set (0.00 sec)
mysql> select * from gbq;
+------+-----+
| name | age |
+------+-----+
| qaz | 20 |
| wsx | 23 |
| edc | 21 |
+------+-----+
3 rows in set (0.00 sec)
mysql> select * from gubeiqing_table;
+----------+-----+
| name | age |
+----------+-----+
| gbq | 21 |
| zhangsan | 20 |
| lisi | 22 |
| zhangsi | 21 |
| lisan | 22 |
+----------+-----+
5 rows in set (0.00 sec)

我现在想查看两个表

mysql> select age from gbq
-> union
-> select age from gubeiqing_table;
+-----+
| age |
+-----+
| 20 |
| 23 |
| 21 |
| 22 |
+-----+
4 rows in set (0.00 sec)

现在看到的是所有的值,但是并不是这个字段所以的值。用UNION看到的是去重之后的所有值,如果不想去重那么要使用UNION ALL

mysql> select age from gbq
-> union all
-> select age from gubeiqing_table;
+-----+
| age |
+-----+
| 20 |
| 23 |
| 21 |
| 21 |
| 20 |
| 22 |
| 21 |
| 22 |
+-----+
8 rows in set (0.00 sec)

这样就看到了全部的值。
各位大佬不介意的话我只想要一点流量。个人博客

posted @   顾北清  阅读(298)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示