SELECT 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),TIME,120)AS TIME FROM A JOIN B ON A.科目=B.科目GROUP BY 科目,CONVERT(VARCHAR(10),TIME,120)
select 科目名称,max(b.成绩),convert(varchar(10),时间,120) as 时间 from tb a,tb b where a.科目名称=b.科目名称 group by 科目名称,convert(varchar(10),时间,120)
SELECT 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),TIME,120) AS TIME FROM A JOIN B ON A.科目=B.科目 GROUP BY 科目,CONVERT(VARCHAR(10),TIME,120)
A表:学生ID,学生name B表:科目ID,科目name C表:学生ID,科目ID,成绩,时间 --查询: select a.学生name,b.科目name,max(成绩) from A表 a,B表 b,C表 c where datediff(d,c.时间,getdate())=0 and a.学生ID=c.学生ID and b.科目ID=c.科目ID group by c.学生ID,c,科目ID
max(c.成绩)
顶个! 学习convert(varchar(10),[time],120) 20
SELECT B.人员 AS 人员,A.科目 AS 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),B.时间,120)AS 时间 FROM A A JOIN B B ON A.科目id=B.科目id WHERE CONVERT(VARCHAR(10),B.时间,120) = CONVERT(VARCHAR(10),GETDATE(),120) GROUP BY B.人员,A.科目,CONVERT(VARCHAR(10),B.时间,120)
SELECT B.人员 AS 人员,A.科目 AS 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),B.时间,120)AS 时间 FROM A A JOIN B B ON A.科目id=B.科目id WHERE CONVERT(VARCHAR(10),B.时间,120) = CONVERT(VARCHAR(10),GETDATE(),120) GROUP BY B.人员,A.科目,CONVERT(VARCHAR(10),B.时间,120)
只能按照LZ的意思。。如果用科目名称作为关联字段select 表B.姓名,A.科目名称,max(表B.成绩) from 表A,表B where A.科目名称=B.科目名称 and B.时间='你要的时间' group by 表B.姓名,A.科目名称
有重复的去下重就行了吧? 你用数据试下这个SELECT distinct B.人员 AS 人员,A.科目 AS 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),B.时间,120)AS 时间 FROM A A JOIN B B ON A.科目id=B.科目id WHERE CONVERT(VARCHAR(10),B.时间,120) = CONVERT(VARCHAR(10),GETDATE(),120) GROUP BY B.人员,A.科目,CONVERT(VARCHAR(10),B.时间,120)
select 科目名称,max(b.成绩),convert(varchar(10),时间,120) as 时间 from tb a,tb b where a.科目名称=b.科目名称 group by 科目名称,convert(varchar(10),时间,120)
FROM A JOIN B ON A.科目=B.科目GROUP BY 科目,CONVERT(VARCHAR(10),TIME,120)
科目名称,max(b.成绩),convert(varchar(10),时间,120) as 时间
from
tb a,tb b
where
a.科目名称=b.科目名称
group by
科目名称,convert(varchar(10),时间,120)
SELECT 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),TIME,120) AS TIME
FROM A JOIN B ON A.科目=B.科目
GROUP BY 科目,CONVERT(VARCHAR(10),TIME,120)
B表:科目ID,科目name
C表:学生ID,科目ID,成绩,时间
--查询:
select a.学生name,b.科目name,max(成绩) from A表 a,B表 b,C表 c where datediff(d,c.时间,getdate())=0 and a.学生ID=c.学生ID and b.科目ID=c.科目ID group by c.学生ID,c,科目ID
学习convert(varchar(10),[time],120)
20
FROM A A JOIN B B ON A.科目id=B.科目id
WHERE CONVERT(VARCHAR(10),B.时间,120) = CONVERT(VARCHAR(10),GETDATE(),120)
GROUP BY B.人员,A.科目,CONVERT(VARCHAR(10),B.时间,120)
SELECT B.人员 AS 人员,A.科目 AS 科目,MAX(B.成绩)AS 成绩,CONVERT(VARCHAR(10),B.时间,120)AS 时间
FROM A A JOIN B B ON A.科目id=B.科目id
WHERE CONVERT(VARCHAR(10),B.时间,120) = CONVERT(VARCHAR(10),GETDATE(),120)
GROUP BY B.人员,A.科目,CONVERT(VARCHAR(10),B.时间,120)
只能按照LZ的意思。。如果用科目名称作为关联字段select 表B.姓名,A.科目名称,max(表B.成绩) from 表A,表B
where A.科目名称=B.科目名称 and B.时间='你要的时间' group by 表B.姓名,A.科目名称
FROM A A JOIN B B ON A.科目id=B.科目id
WHERE CONVERT(VARCHAR(10),B.时间,120) = CONVERT(VARCHAR(10),GETDATE(),120)
GROUP BY B.人员,A.科目,CONVERT(VARCHAR(10),B.时间,120)
科目名称,max(b.成绩),convert(varchar(10),时间,120) as 时间
from
tb a,tb b
where
a.科目名称=b.科目名称
group by
科目名称,convert(varchar(10),时间,120)
至于CONVERT这个函数到联机丛书里面仔细看看原理了
答案都出来了……