一个表里面有四个字段,一个姓名,一个语文,一个数学,一个英语,很普通的一个表,
现在要执行一个查询,要求是查找在所有的学生里三门课程的总分里面的最高分是多少分?
到底该怎么写啊,我问了好多人都没有人写出来,前提是不要再加新的字段

解决方案 »

  1.   

    select top 1 (语文+数学+英语) from tb order by 1 desc
      

  2.   


    select * from (select 姓名,总分=语文+数学+英语 from 表名)a order by 总分 desc
      

  3.   

    三门课程的总分里面的最高分是多少分 select max(语文+数学+英语)
    from 表1[align=center]====  ====
    [/align]
      

  4.   


    create table TB_test
    (
    姓名 nvarchar(40),
    语文 int,
    数学 int,
    英语 int
    )
    insert TB_test select 'a',10,20,30 union select' b',20,30,40 union select 'c',10,10,10select  top 1 姓名,  zongfen=语文+数学+英语 from TB_test group by 姓名,语文+数学+英语
    order by 语文+数学+英语 desc
     
    drop  table TB_test
      

  5.   


    create table TB_test
    (
    姓名 nvarchar(40),
    语文 int,
    数学 int,
    英语 int
    )
    insert TB_test select 'a',10,20,30 union select' b',20,30,40 union select 'c',10,10,10
    select * from TB_test
    select  top 1 姓名,  zongfen=语文+数学+英语 from TB_test-- group by 姓名,语文+数学+英语
    order by 语文+数学+英语 desc
     drop  table TB_test
      

  6.   

    create table TB_test
    (
    姓名 nvarchar(40),
    语文 int,
    数学 int,
    英语 int
    )insert TB_test select 'a',10,20,30 union select' b',20,30,40 union select 'c',10,10,10
    select top 1 姓名,总分=(语文+数学+英语) from tb_TEST order by 语文+数学+英语 desc姓名                                       总分          
    ---------------------------------------- ----------- 
     b                                       90(所影响的行数为 1 行)
      

  7.   

    select top 1 姓名,总分=(语文+数学+英语) from tb_TEST order by 1 desc
      

  8.   

    select max(yuwen+shuxue+yinyu) as 最高总分 from studen
      

  9.   

    create table studen
    (
    names varchar(10),
    yuwen int,
    shuxue int,
    yinyu int
    )
    drop table studeninsert into studen values('张三','80','70','90')
    insert into studen values('张三','40','50','90')
    insert into studen values('张三','80','40','80')select * from studenselect max(yuwen+shuxue+yinyu) as 最高总分 from studen