zoukankan      html  css  js  c++  java
  • sql分组后取每组前三

    对数据进行分组,取每组前三条数据

    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('1', '张三', '50');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('2', '张三', '60');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('3', '张三', '70');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('4', '张三', '66');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('5', '张三', '55');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('6', '张三', '77');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('7', '李四', '32');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('8', '李四', '45');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('9', '李四', '33');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('10', '李四', '28');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('11', '李四', '60');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('12', '李四', '55');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('13', '王五', '99');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('14', '王五', '107');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('15', '王五', '88');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('16', '王五', '65');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('17', '王五', '72');
    INSERT INTO `sakila`.`tt` (`id`, `name`, `score`) VALUES ('18', '王五', '126');
    inster

    数据如下

     题目:分组取每人最好成绩的前三条

    select * from tt as t1 where (select count(*) from tt where name=t1.name and score>=t1.score)<=3 ORDER BY score desc 

    题目:取每人最好成绩,按最好成绩排名;

    select name,max(score) from tt GROUP BY name ORDER BY max(score) desc 

    取每人最平均成绩,按照平均成绩倒序排名

    select  `name`,avg(score) from tt GROUP BY `name` ORDER BY avg(score) desc 

    仅供参考,内容中会引用部分博友的文章。(侵删)
  • 相关阅读:
    js与asp.net后台交互
    Asp.net封装js的类
    RegisterClientScriptBlock 与 RegisterStartupScript 的区别
    Page.ClientScript.RegisterStartupScript()
    错误与修复:ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误,恒处于FF5卷动条位置
    JS数组的操作
    拉里·埃里森和历史上最牛的演讲【转】
    SSIS 学习(9):包部署常见问题汇总【转】
    SSIS 学习(8):事务【转】
    SSIS 学习(7):包配置(下)【转】
  • 原文地址:https://www.cnblogs.com/zeran/p/14764074.html
Copyright © 2011-2022 走看看