Mysql常见SQL查询应用场景

场景一:

  某场射击比赛,张三、李四、王五三人参加比赛。

  射击比赛规则:共进行三轮比赛;三轮比赛结束后,取最优成绩作为个人最佳成绩进行排名。

  设计数据库表:

CREATE TABLE `TEST` (
  `ID` int(11) NOT NULL,
  `NAME` varchar(45) DEFAULT NULL COMMENT '名称',
  `SCORE` int(11) DEFAULT NULL COMMENT '分数',
  `ROUND` int(11) DEFAULT NULL COMMENT '回合',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

  插入数据:
    三轮成绩下来
    张三分别是9,10,10;

    李四分别是10,9,8;

    王五分别是9,8,8;

 

  通过排序后可知,要取到的数据是ID分别为4,2,3的数据

   通过对人名进行分组,获得人名及其所创造的最好成绩

  通过表关联查询得出下面结果

  此时需要对结果进行分组并取出每组ID最小值

  对取出的ID查询并排序

 

  这就是取出同一个表每组中最优数据。

  

  如若再加一条件,当两数据最后得分相同,则平均分更高的排名靠前,都相同则按照名称排序。

 

 

  

转载于:https://www.cnblogs.com/feiyang930112/p/11332187.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值