SQL作业创建表

在这个里面我主要用了一个可视化的数据库连接工具,Navicat MYSQL ,其他的就是MySQL了,其实本身题目的难度不大,主要是理解的逻辑问题

创建一张t_user表,表中有id,name,age字段,id为主键自增长,添加一些数据进去,且准备一些相同的age;
1.请找出表中三条年龄最大的记录
2.按年龄分组,求出每组年龄的最大的id
3.请找出表中年龄最大的用户的姓名

Sql`
`Navicat MySQL Data Transfer`

`Source Server         : mysql`
`Source Server Version : 50022`
`Source Host           : your ip 
`Source Database       : test`

`Target Server Type    : MYSQL`
`Target Server Version : 50022`
`File Encoding         : 65001`

`Date: 2020-03-24 22:59:12`
`*/`

`SET FOREIGN_KEY_CHECKS=0;
`-- Table structure for t_user`
`DROP TABLE IF EXISTS t_user;`
`CREATE TABLE t_user (`
  `id int(16) NOT NULL auto_increment,`
  `name varchar(32) character set utf8 NOT NULL,`
  `age int(16) NOT NULL,`
  `PRIMARY KEY  (id)`
`) ENGINE=InnoDB DEFAULT CHARSET=latin1;`
`-- Records of t_user`
INSERT INTO t_user VALUES ('1', 'aa', '12');`
`INSERT INTO t_user VALUES ('2', 'ab', '13');`
`INSERT INTO t_user VALUES ('3', 'ac', '34');`
`INSERT INTO t_user VALUES ('4', 'ad', '45');`
`INSERT INTO t_user VALUES ('5', 'ae', '45');`
`INSERT INTO t_user VALUES ('6', 'af', '12');`
`INSERT INTO t_user VALUES ('7', 'ag', '56');`
`INSERT INTO t_user VALUES ('8', 'ah', '67');`
`INSERT INTO t_user VALUES ('9', 'ai', '7');`
`INSERT INTO t_user VALUES ('10', 'aj', '45');`
`INSERT INTO t_user VALUES ('11', 'ak', '3');`
`INSERT INTO t_user VALUES ('12', 'al', '66');`
`INSERT INTO t_user VALUES ('13', 'am', '3');`
`INSERT INTO t_user VALUES ('14', 'an', '5');`
`INSERT INTO t_user VALUES ('15', 'ag', '8');`
`INSERT INTO t_user VALUES ('16', 'ao', '66');`
`INSERT INTO t_user VALUES ('17', 'az', '8');`

1.请找出表中三条年龄最大的记录

SELECT *   FROM  t_user  ORDER BY age DESC LIMIT 0,3;

2.按年龄分组,求出每组年龄的最大的id

SELECT id   FROM t_user    GROUP BY  age ORDER BY id DESC LIMIT 0,1 ;

3.请找出表中年龄最大的用户的姓名

SELECT name FROM t_user ORDER BY age DESC LIMIT 0,1;

发布了32 篇原创文章 · 获赞 9 · 访问量 3157

猜你喜欢

转载自blog.csdn.net/weixin_43501566/article/details/105084877