请教怎样做学生上课统计查询

问题描述

class学生{publicintId{get;set;}publicstring姓名{get;set;}}class上课记录{publicintId{get;set;}publicint学生Id{get;set;}publicstring课程{get;set;}publicDateTime上课时间{get;set;}}学生数据:Id姓名1张三2李四上课记录数据:Id学生Id课程上课时间11语文2014-11-2021数学2014-11-2132数学2014-11-21要求得出最终结果:学生Id学生姓名语文数学1张三2014-11-202014-11-212李四2014-11-21先谢谢各位支招的大大~~~

解决方案

解决方案二:
竖表转横表
解决方案三:
参考我的blog:LINQTOSQL实现行转列
解决方案四:
给出你的测试代码,我可以在你代码基础上给你些具体的思路参考此帖的提问方式:
解决方案五:
引用3楼q107770540的回复:

给出你的测试代码,我可以在你代码基础上给你些具体的思路参考此帖的提问方式:

我实际应用的数据比这个复杂很多,所以这个是我临时模拟出来的,测试数据大概这样子publicclass学生{publicintId{get;set;}publicstring姓名{get;set;}publicList<上课记录>上课记录s{get;set;}}publicclass上课记录{publicintId{get;set;}publicint学生Id{get;set;}public学生所属学生{get;set;}publicstring课程{get;set;}publicstring上课时间{get;set;}}----------------------------------------------------------------------------------------varli学生=newList<学生>(){new学生(){Id=1,姓名="张三",上课记录s=newList<上课记录>(){new上课记录(){Id=1,课程="语文",上课时间="2014-11-20",学生Id=1},new上课记录(){Id=2,课程="数学",上课时间="2014-11-21",学生Id=1}}},new学生(){Id=2,姓名="李四",上课记录s=newList<上课记录>(){new上课记录(){Id=3,课程="数学",上课时间="2014-11-21",学生Id=2}}}};------------------------------------------------------------------------------------------测试代码基本上是这样子了
解决方案六:
voidMain(){varli学生=newList<学生>(){new学生(){Id=1,姓名="张三",上课记录s=newList<上课记录>(){new上课记录(){Id=1,课程="语文",上课时间="2014-11-20",学生Id=1},new上课记录(){Id=2,课程="数学",上课时间="2014-11-21",学生Id=1}}},new学生(){Id=2,姓名="李四",上课记录s=newList<上课记录>(){new上课记录(){Id=3,课程="数学",上课时间="2014-11-21",学生Id=2}}}};varresult=li学生.Select(x=>new{学生Id=x.Id,学生姓名=x.姓名,语文=string.Join(",",x.上课记录s.Where(s=>s.课程=="语文").Select(s=>s.上课时间).ToArray()),数学=string.Join(",",x.上课记录s.Where(s=>s.课程=="数学").Select(s=>s.上课时间).ToArray()),});}publicclass学生{publicintId{get;set;}publicstring姓名{get;set;}publicList<上课记录>上课记录s{get;set;}}publicclass上课记录{publicintId{get;set;}publicint学生Id{get;set;}public学生所属学生{get;set;}publicstring课程{get;set;}publicstring上课时间{get;set;}}

解决方案七:
感谢版主,只是LINQtoEntitiesdoesnotrecognizethemethod'System.StringJoin(System.String,System.String[])'method,andthismethodcannotbetranslatedintoastoreexpression.string.Join能换别的方式吗?
解决方案八:
学习了,多谢。
解决方案九:
对数据进行分组统计查询privateDataTableGetBook(){stringP_Str_ConnectionStr=string.Format(//创建数据库连接字符串@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");stringP_Str_SqlStr=string.Format(//创建SQL查询字符串"SELECT出版社,SUM(金额)as总金额FROMtb_BookGROUPBY出版社");SqlDataAdapterP_SqlDataAdapter=newSqlDataAdapter(//创建数据适配器P_Str_SqlStr,P_Str_ConnectionStr);//codego.net/DataTableP_dt=newDataTable();//创建数据表P_SqlDataAdapter.Fill(P_dt);//填充数据表returnP_dt;//返回数据表}
解决方案十:
取出数据统计结果后的10名数据一、查询数据库数据//查询数据库信息//<returns>方法返回DataTable对象</returns>privateDataTableGetMessage(){stringP_Str_ConnectionStr=string.Format(//创建数据库连接字符串@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");stringP_Str_SqlStr=string.Format(//创建SQL查询字符串"SELECT学生编号,学生姓名,高数,外语,软件工程FROMtb_Grade");SqlDataAdapterP_SqlDataAdapter=newSqlDataAdapter(//创建数据适配器P_Str_SqlStr,P_Str_ConnectionStr);DataTableP_dt=newDataTable();//创建数据表P_SqlDataAdapter.Fill(P_dt);//填充数据表returnP_dt;//返回数据表}//codego.net/二、查询出后的10名学生成绩数据//查询数据库信息//<returns>方法返回DataTable对象</returns>privateDataTableGetStudent(){stringP_Str_ConnectionStr=string.Format(//创建数据库连接字符串@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");stringP_Str_SqlStr=string.Format(//创建SQL查询字符串@"SELECTTop10学生编号,学生姓名,高数,外语,软件工程FROMtb_GradeORDERBY高数+外语+软件工程ASC");SqlDataAdapterP_SqlDataAdapter=newSqlDataAdapter(//创建数据适配器P_Str_SqlStr,P_Str_ConnectionStr);DataTableP_dt=newDataTable();//创建数据表P_SqlDataAdapter.Fill(P_dt);//填充数据表returnP_dt;//返回数据表}

时间: 2024-10-23 19:59:29

请教怎样做学生上课统计查询的相关文章

刚刚做的学生管理系统姓名查询环节只能查到第一个姓名,剩下的都查不到

问题描述 刚刚做的学生管理系统姓名查询环节只能查到第一个姓名,剩下的都查不到 import java.util.Scanner; public class Score { public static void main(String[] args) { // 保存学生姓名 String [] names = new String [5]; // 保存成绩 double[] scores = new double[names.length]; // 导航 System.out.println("&

我给大三视觉传达班的学生上课,给我的感觉是,学生对网页了解甚少

为什么有些学生,还不知道网页设计是什么的时候,另外一些学生已经学会网页开始工作了呢? 我只想说,想学习的人,终究可以找到答案.除了给视觉传达班的学生上课,还要给动画专业的学生上课.作为老师,我有必要让学生了解一些他们不知道的东西.学生因此学到了东西,改变了命运,我将会感到非常高兴.同时也想借这个机会,把自己多年来通过实战和网页教学的经验,分享给这些网页初学者. 其次,学网页的过程,绝不是单单的枯燥的学习技术的过程.同时也可以从能者身上会学到对网页的认识和理解,包括他的品格.这些都可以更好的帮助你

问题请教 如何做一个收银管理系统

问题描述 问题请教 如何做一个收银管理系统 做一个餐厅收银系统 1 用javaweb好还是用swing好? 2 要实现客人利用店里的移动客户端订餐 该怎么实现? 3 怎么通过刷卡确认客人的会员身份? 解决方案 这种系统如果真的要用,直接买现成的好,如果是学生习作,用什么语言,完全取决于你的老师的要求. 如果要移动订餐,就用javaweb做后端,做html5或者客户端. 刷卡无非两个,一个是条码二维码识别,一个是ic卡读卡器 解决方案二: 这种系统如果真的要用,直接买现成的好,如果是学生习作,用什

2005 考勤统计-关于SQL2005学生考勤统计的问题,谢谢各位了,越详细越好

问题描述 关于SQL2005学生考勤统计的问题,谢谢各位了,越详细越好 A表名称Tab_Check 包含 所有 学生名字name 考勤类型checktype (按时上课.按时下课.迟到.早退.旷课.考勤时间) 考勤时间checkdate 根据这个表建立一个视图 视图名称:view_checkview 包含 姓名name 正常出勤normal 迟到later 早退 early 旷课 absenteeism 考勤时间 checkdate 我想在视图中统计出每个同学每天的出勤状况 算法: 统计A表每个

Java处理数据库统计查询并发操作问题

问题描述 现在我遇到了一个问题:为了生成一个序号,格式例如为:ES100001(ES:特征位,11:代表现在的年份2010年后两位,0001:表示数据库统计查询后的数字加1).但是这样就遇到一个问题,比如A和B同一时间同步提交一个表单,就会生成同样的序号,如(ES100002),请问大伙儿有什么好的解决办法?我的伪代码是这样的://数据库查询intcount=Query.doQuery(Long.class,"selectcount(*)fromTableAwherecondition1=1&q

学生上课作业可在线填写提交

到餐厅吃饭,只需通过"餐饮云"看菜谱点菜,到餐厅就可开怀享用:学生上课不需要背着沉重的书包,作业都可以在线填写提交--昨天,记者从浦东张江集成电路产业区获悉,张江已经涌现出一批建立在云计算技术基础上.开发各种相关平台的国内领军企业,云计算正拨开"云"雾,和我们的生活并不遥远. "云教育"帮学生"减负" 云计算的"云"看似虚幻,这朵"云"出自何方?在维基百科中是如此解释的:"云&

delphi做学生管理系统总结

在用刚刚学的delphi来做学生管理系统会遇到很多问题,这写问题或许是共性的,希望对大家有帮助 工程文件 界面 一.登录界面 二.主功能界面 用户管 理

巧用Excel帮我进行学生成绩统计

在老师的日常工作中,对学生的成绩进行统计分析管理是一项非常重要也是十分麻烦的工作,如果能够利用EXCEL强大的数据处理功能,就可以让各位老师迅速完成对学生的成绩的各项分析统计工作.下面就向各位朋友介绍一些利用EXCEL进行学生成绩管理的小技巧. 一.快速转换学生考试成绩等级 有的时候,会遇到要将学生的考试成绩按实际考试分数转换成相应成绩等级的情况,如将考试成绩在90分以上的成绩转换成"A+"形式,85-89分的成绩转换成"A"形式....一般情况,在EXCEL表格中

编程语言 c语言-新手求指教!用c语言 简单学生成绩统计软件 。万分感谢,编好发到邮箱425572938@.

问题描述 新手求指教!用c语言 简单学生成绩统计软件 .万分感谢,编好发到邮箱425572938@. 实现的任务: (1)每个学生记录中包含学号.姓名和C 语言课设成绩等信息: (2)创建学生记录链表: (3)更新学生记录(插入.排序.删除): (4)能统计各分数段的人数,并以分布图显示: (5)输出学生记录到屏幕. 设计内容: 1. 学生记录应该包括学号.姓名.C 语言课设成绩等信息,是本程序的核心数据结构,定 义如下: typedef struct { char num[11]; /*学号*