在mysql中共享对组的关注
MySQL表结构
复制代码代码如下所示:
MySQL > desc t;
+ + + - + + +
场型空| | | |关键|默认|额外|
+ + + - + + +
| | ID int(11)是| | | 0 | |
| | NAME varchar(100)是| | |空| |
| | AA varchar(45)是| | |空| |
+ + + - + + +
3行(0.01秒)
插入数据
复制代码代码如下所示:
从t选择;
+ + +—
我的名字| | | | AA
+ + +—
| 1 | AAAA | BBBB |
| 1 | 1111 | 2222 |
| 1 | 2222 | 33333 |
| 1 | 2222 | 44444 |
| 2 | 2222 | 44444 |
| 2 | 2222 | 1111 |
| 3 | 2222 | 1111 |
| 1 | 2222 | 44444 |
| 1 | 2222 | 44444 |
| 1 | 2222 | 44444 |
| 3 | 2222 | AAAA |
+ + +—
11行(0秒)
按查询语句分组
复制代码代码如下所示:
从id组中选择ID、计数(1)、aa;
+ + +—
| | ID数(1)| | AA
+ + +—
| 1 | 7 | BBBB |
| 2 | 2 | 44444 |
| 3 | 2 | 1111 |
+ + +—
3行(0秒)
在这个实验中,总共选择了id、计数(1)、aa。结果分组符合规则。除了聚合函数(计数(1))之外,其他两列(id,AA)也应该包含在组中,但是实验只包含了aa。
对测试结果的描述
1。id(1)id列的统计数据,后跟组是正确的
2、按照正常思维,AA数据不能显示,而mysql在显示表中选择了aa数据的第一项。
3,以上2点也是个人猜测,官方解释暂时不作核实。
MySQL组通过使用
组按不同字段分组,可以聚合值。
例如,数据库中有一个表,包括三个字段:学生、科目和年级。
数据库结构是
学生学业成就
张三的语言80
张三数学100
Li Si的语言70
Li Si数学80
Li Si English 80
那个
选择学生,由学生分组;
获得以下结果
学生成绩
张三180
Li Si 230
==============================================================
如果被认为是
该语句被写成:
从学生中选出分数为80的学生;
结果是。
学生成绩
张三80
Li Si 160
有比加入更容易理解的东西。
在MySQL中使用该组需要注意的事项:
组:
组的一个原则是,在SELECT后面的所有列中,不使用聚合函数的列必须出现在组之后。
例如:
复制代码代码如下所示:
选择名称,金额从table_name(点)
此SQL语句将被错误报告,必须写成:
复制代码代码如下所示:
选择的名字,和(点)从table_name组的名字
有
添加SQL的原因是不能应用于聚合函数,如果没有,则不能测试结果条件。
复制代码代码如下所示:
选择名称、和(点)
从table_name组的名字
有(点)> 1000
通常与组一起使用。