有这样一个题,用一条SQL语句 查询出每门课都大于80分的学生姓名。

下面是表

分析,查询每门课程都大于80的学生。SELECT DISTINCT name FROM dbo.student WHERE fenshu<=80查询出来的结果是李四王五张三都有。

小于等于80的语句SELECT name FROM dbo.student WHERE fenshu<=80 只有张三一个。

这个是重复的,值得利用,用not in(不在次语句中的)语句将两句拼写到一块如下:

SELECT DISTINCT name FROM dbo.student WHERE name NOT in(
SELECT name FROM dbo.student WHERE fenshu<=80)

现在只剩下想要的结果了(注意查询出来的结果是三个王五,需要用distinct消除重复行)。

第二个题:删除除了自动编号不同,其他都相同的学生冗余信息,表如下:

做这道题我们看到ID是不一样的,其他都一样,那么需要分组,语句:SELECT MAX(ID) FROM dbo.student1 GROUP BY grade,kecheng,name,X_ID,course进行分组,并获得最大的ID。在group by语句后的字段必须都一样才会产生一组。

分组后进行删除语句

DELETE FROM dbo.student1 WHERE ID NOT IN(
SELECT MAX(ID) FROM dbo.student1 GROUP BY grade,kecheng,name,X_ID,course)

删除的时候通过Id为条件,不在次条件的语句进行删除,最后得到自己理想的表了。

SQL删除重复行和查询所有大于某成绩的语句分析的更多相关文章

  1. sql删除重复行和删除字段首位

    删除重复行 user_info: -- 单字段筛选重复行 SELECT *from user_info WHERE NAME in ( SELECT NAME from user_info GROUP ...

  2. 【转】SQL删除重复数据方法,留着备用

    感谢孙潇楠前辈的总结,地址http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 例如: id           name ...

  3. (转载)SQL删除重复数据方法

    本文转载自http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 例如: id           name         ...

  4. SQL删除重复的记录(只保留一条)

    首先新建表: --创建示例表 CREATE TABLE t ( id ,) PRIMARY KEY, a ), b ) ) --插入数据 INSERT INTO t SELECT 'aa','bb' ...

  5. SQL删除重复数据方法

    例如: id           name         value 1               a                 pp 2               a           ...

  6. 【转】SQL删除重复数据方法

    例如: id           name         value 1               a                 pp 2               a           ...

  7. SQL删除重复数据,保留一条

    例如: id           name         value 1               a                 pp 2               a           ...

  8. sql 删除重复数据且保留其中一条 用sql 关键字:with ROW_NUMBER

    --1.建立表:Coursecreate table Course( ID int identity(1,1),--ID Student varchar(20) ,--学生 Sub varchar(2 ...

  9. 【转】SQL删除重复记录,只保留其中一条

    SQL:删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peop ...

随机推荐

  1. git svn cygwin_exception

    git for windows 2.5 版本发布了,更新之后,使用git svn的时候,就出错 git svn rebase Or git svn dcommit After a update git ...

  2. warning: push.default is unset;

    git push warning questions This warning was introduced in Git 1.7.11 along with the simple style of ...

  3. Learning WCF Chapter1 Generating a Service and Client Proxy

    In the previous lab,you created a service and client from scratch without leveraging the tools avail ...

  4. ubuntu12.04 mysql服务器乱码问题的解决办法

    网上方法太杂乱,有些甚至很复杂,其实ubuntu下只需要修改一个配置文件即可. sudo vi /etc/mysql/my.cnf 在[client]下加入 default-character-set ...

  5. 卸载系统自带的JDK的脚本并再次安装

    卸载系统自带的JDK的脚本并安装1.6.0.32版本的jdk #!/bin/bash homefile=/usr/local/java cd $homefile homelist=`sudo rpm ...

  6. cout internal

    cout internal */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola," ...

  7. linux 下查看网速的方法 (不需要安装任何软件)

    sudo watch -n 1 "/sbin/ifconfig eth0 | grep -E \"字节|数据包\"" 若是英文版linux: sudo watc ...

  8. Jquery Mobile左右滑动效果

    首先在一个页面里面定义两个< div data-role="page">,这里为了突出重点,就没有写出footer和header.定义的页面如下: <body&g ...

  9. Spring各种注解标签作用详解

    @Autowired和@Resource等注解是将Spring容器中的bean注入到属性,而@Component等注解是将bean放入Spring容器中管理. @Autowired spring2.1 ...

  10. DevExpress 用户控件 分页(中)

    说明: 1)具体调用请关注 看DevExpress 用户控件 分页(下) datanavi_ButtonClick 是DataNavigator的ButtonClikc事件 视图设计器: 分页用户控件 ...