灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2020回复:0

[mysql]mysql一个简单查询中的group by和order by的使用

楼主#
更多 发布于:2012-09-01 02:13


具体我忘记了,大概内容差不多如下。
两张表,内容如下:
Sql代码  
+--------+-------+------+  
| z_code | mgr   | pigs |  
+--------+-------+------+  
| 021    | zhang | 85   |  
| 010    | wang  | 70   |  
+--------+-------+------+  
2 rows in set  
查询最终结果


Sql代码  
+--------+------+-------+  
| z_code | city | mgr   |  
+--------+------+-------+  
| 010    | BJ   | wang  |  
| 021    | HB   | zhang |  
+--------+------+-------+  
2 rows in set  
A表


Sql代码  
+------+-------+------+  
| part | mgr   | pigs |  
+------+-------+------+  
| 001  | wang  |   20 |  
| 002  | wang  |   50 |  
| 011  | zhang |   49 |  
| 012  | zhang |   36 |  
+------+-------+------+  
4 rows in set  
B表

所用查询语句为:
Sql代码  
select z_code, A.mgr mgr, sum(pigs) pigs from A, B where A.mgr = B.mgr group by A.mgr order by pigs desc;  


下面是建表和插入语句的SQL:
Sql代码  
create database pig_store;  
use pig_store;  
  
create table A(  
    z_code varchar(8),  
    city varchar(4),  
    mgr varchar(16)  
);  
create table B(  
    part varchar(8),  
    mgr varchar(16),  
    pigs int(5)  
);  
  
insert into A values ( '010', 'BJ', 'wang'), ( '021', 'HB', 'zhang' );  
insert into B values ( '001', 'wang', 20 ), ( '002', 'wang', 50 ), ( '011', 'zhang', 49 ), ( '012', 'zhang', 36 );  


喜欢0 评分0
游客

返回顶部