SQL作业创建表
程序员文章站
2022-05-30 22:33:35
...
在这个里面我主要用了一个可视化的数据库连接工具,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;
上一篇: 数据库
下一篇: SQL中约束和触发器的停用与启用