zoukankan      html  css  js  c++  java
  • 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查询并排序

     

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

      

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

      

  • 相关阅读:
    PAT 1035. 插入与归并(25)
    PAT 1034. 有理数四则运算(20)
    PAT 1033. 旧键盘打字(20)
    PAT 1032. 挖掘机技术哪家强(20)
    PAT 1031. 查验身份证(15)
    PAT 1030. 完美数列(25)
    PAT 1029. 旧键盘(20)
    PAT 1028. 人口普查(20)
    PAT 1027. 打印沙漏(20)
    PAT 1026. 程序运行时间(15)
  • 原文地址:https://www.cnblogs.com/feiyang930112/p/11332187.html
Copyright © 2011-2022 走看看