sql-SQL 查询问题 group by

问题描述

SQL 查询问题 group by

student(sno,sname,,sdept)
course(cno,cname,ccredit)
sc(sno,cno,grade)
为什么这样写不行呢?
//查询CS系成绩最高的学生的学号、姓名以及成绩

select student.sno,sname,grade from student,sc where student.sno = sc .sno
and grade=(select max(grade) from sc where sc.sno = sno and sdept = 'cs')
还有一个问题;
//查询每个系的最高成绩
select sdept,max(grade) from sc,student where sc.sno=student.sno group by sdept;这样写把每个系的最高分列出来了,当我想把sno列出来,所以加上了sc.sno,下面的就什么结果也没有,是错的。
--select sdept,sc.sno,max(grade) from sc,student where sc.sno=student.sno group by sdept,sc.sno
那这样的问题的group by到底该怎么写呢?如果我想把学号等也列出来是不是只可以写成相关查询呢?
select x.sno,sdept,grade from student x,sc where x.sno = sc.sno and grade =
(select max(grade) from sc,student where sc.sno=student.sno and sdept=x.sdept) //这个结果又是对的
谢谢指导。

解决方案

 select student.sno,sname,grade from student,sc where student.sno = sc .sno
and grade=(select max(grade) from sc where sc.sno = sno and sdept = 'cs')
这句不对的原因在于,下面子句中,左边的sdept不存在,在sc表中没有
(select max(grade) from sc where sc.sno = sno and sdept = 'cs')

解决方案二:

---所有书籍价格的统计
select sum(price)总价,avg(price)均价,max(price)最高价,min(price)最低价
from titles

---统计where条件的记录
---business类型书籍价格的统计
select sum(price)总价,avg(price)均价,max(price)最高价,min(price)最低价
from tit......
答案就在这里:sql查询 -count,group by,havi..

时间: 2024-12-28 02:07:25

sql-SQL 查询问题 group by的相关文章

SQL 相关子查询与group by的问题,谢谢指导

问题描述 SQL 相关子查询与group by的问题,谢谢指导 student(sno,sname,sdept) course(cno,cname,ccredit) sc(sno,cno,grade) 1.查询每个系的最高成绩 select x.sno,sdept,grade from student x,sc where x.sno = sc.sno and grade =(select max(grade) from sc,student where sc.sno=student.sno a

SQL查询语句 group by后, 字符串合并

原文:SQL查询语句 group by后, 字符串合并 合并列值 --******************************************************************************************* 表结构,数据如下: id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id values ------ ----------- 1 aa,bb 2 aaa,bbb,ccc 即:gr

sql-关于单表SQL存储过程查询。分页条数,当前页码,总条数的问题

问题描述 关于单表SQL存储过程查询.分页条数,当前页码,总条数的问题 我实现PUB_AREA 表的数据查询, 上面是我写的调试, 指出在下面and处报错,无布尔类型,不知道到底哪里错了- - declare @TotalNum intexec PUB_AREA_SelectAREACITYByHsfSearchss ''101@TotalNum outputselect @TotalNumalter PROCEDURE [dbo].[PUB_AREA_SelectAREACITYByHsfSe

sql子查询中列别名在主查询中无效

问题描述 sql子查询中列别名在主查询中无效 CREATE PROCEDURE dbo.query_test( @i_begin_time varchar(128) IN, /* 开始时间 / @i_end_time varchar(128) IN, / 结束时间 / @i_bussiness_tpe varchar(512) IN, / 类型 ) as declare @v_sql varchar(16384)/* 定义 需要执行的sql / declare @Rtime varchar(12

SQL数据查询语句

查询是SQL语言的核心,SQL语言只提供唯一一个用于数据库查询的语句,即SELECT语句.用于表达SQL查询的SELECT语句是功能最强也是最复杂的SQL语句,它提供了很多选项和使用方法.SELECT语句的命令格式如下: SELECT查询语句是由七个子句构成,其中SELECT和FROM子句是一个完整SELECT查询语句必须要有的,其它的子句可以根据具体需要任选.上述的每个子句功能说明如下: (1)SELECT子句 列出所有要求SELECT语句进行检索的数据项,这些项可能取自数据库中关系表的列,也

SQL子查询实例

  SQL子查询实例介绍: 子查询是在一个查询内的查询.子查询的结果被DBMS使用来决定包含这个子查询的高级查询的结果.在子查询的最简单的形式中,子查询呈现在另一条SQL语句的WHERE或HAVING子局内. 列出其销售目标超过各个销售人员定额综合的销售点. SELECT CITY FROM OFFICES WHERE TARGET > (SELECT SUM(QUOTA) FROM SALESREPS WHERE REP_OFFICES = OFFICE) SQL子查询一般作为WHERE子句或

java-一个纠结的sql分组查询语句

问题描述 一个纠结的sql分组查询语句 是这样的 数据库里有一张 宿舍用电表(宿舍号,时间,电表度数) dormitoryElectric(dormitory,time,electric) 里面存的是每个小时电表上的度数,那我想查询所有宿舍近7天的每天用电度数要怎么写. 效果大概是这样的: 宿舍1 第一天用电度数 第二天用电度数 第三天用电度数 ... 宿舍2 第一天用电度数 第二天用电度数 第三天用电度数 ... 第二天用电度数应该是第二天的最后一次电表度数减去第一天的最后一次电表度数 解决方

关于sql server查询语句的写法。

问题描述 关于sql server查询语句的写法. 怎样写一个查询语句select distinct ID from TrainTime order by ID select Station from TrainTime where S_No='1'order by ID select Stationfrom TrainTime where D_Time='-' order by ID 怎样把这3个查询语句写为一句啊,让查询查来的结果为这3列数据. 因为我想建一个表,为3列,列名为:列车车次.起

sql语句查询问题。。。。。

问题描述 sql语句查询问题..... 一张学生表,字段学生姓名name,学科xk,成绩cj,查询平均成绩大于90,并且语文成绩大于95的学生姓名, 求解答~!!! 解决方案 命名查询的sql语句的问题一个SQL语句查询问题(查询最小值SQL语句中模糊查询的下划线的问题 解决方案二: select distinct 姓名name from (select 姓名name, 学科xk,成绩cj,avg(成绩cj) over (partition by 姓名name) as avg_cj from 学

SQL怎么查询上次交易日期呢?

问题描述 SQL怎么查询上次交易日期呢? 现有test表表结构如下: time goods num2014/5/9 内存条 202014/4/28 硬盘 17....../*海量数据*/2013/7/2 内存条 18 怎么用表自连接的方法查询出上次交易的时间呢?结果表是这样的: time goods num LastTime 如果数据量太大不能用表自连接方法还有其它方法吗? 新人刚入行虚心请教学习感谢了~~~ 解决方案 上次交易日期而不是最新日期select a.test.timea.goods