惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
M
MIT News - Artificial intelligence
S
SegmentFault 最新的问题
博客园 - 叶小钗
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
U
Unit 42
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - zjy

ligerui.grid.extend.rowSpan 用户中心 - 博客园 用户中心 - 博客园 OnClientClick 从通用分页存储过程[ROWCOUNT方式]抽出适合自己需求的分页过程 防SQL注入 用户中心 - 博客园 [CS0030错误]奇怪:难不成ChangePassword也是系统用名? 推荐个C#不错的开发工具(新版本SharpDevelop) 安装IE7 Visual Studio出现调试不够权限的解决办法 求助:UltraWebGrid当用xml paging(ajax)时,如何取其子表的band的index或者子表行信息?(NetAdvantage) 解决UltraWebGrid分页时出现的脚本错误(Infragistics的Bug) 解决infragistics的webgrid嵌套子表列名在ajax下(xml paging)出现的乱码问题 修改上传文件控件样式并实现上传文件功能 用页传值方式解决模态窗口的Response.WriteFile文件下载 DataTable添加列时容易被忽略的问题! 重构oninit,应用在模式窗口的方法 获取一个星期时间段的具体日期 Web导出Word需要添加头文件 - zjy - 博客园
DataTable中统计列中不同行问题
zjy · 2007-07-15 · via 博客园 - zjy

DataTable没有SQL功能强大,当遇到distinct使用时,还需要重写类,在

还是使用了SQL语句:

select count(expr1) as expr1

from (select distinct 列名 as expr1  from 表 )

derivedtbl

如:3个表联合查询中统计一个列中不同行的个数

3个student表与card表,还有DownloadData表,之间关系为

student.id=card.studentid ,card.cardno=DownloadData.cardno

联合查询还有个时间段的判断

student.classid是班级编号.

SELECT COUNT(studentname) AS Expr1
FROM (SELECT DISTINCT
CONVERT(varchar(12), recordtime, 111) AS [Time], studentname
FROM (SELECT student.studentname, recordtime
FROM Student INNER JOIN
Card ON Student.ID = Card.StudentID INNER JOIN
DownloadData ON
Card.CardNo = DownloadData.CardNo
WHERE (Student.ClassID = '6') AND
DownloadData.RecordTime > '2005 - 12 - 1 00 : 00 : 00 ') AND
(DownloadData.RecordTime < '2005 - 12 - 30 23 : 00 : 00')) 
DERIVEDTBL) DERIVEDTBL

其中有段代码有注意

CONVERT(varchar(12), recordtime, 111) AS [Time], studentname

convert函数,它可以将一种数据类型的表达式转换为另一种数据类型的表达式.此处我们先将数据库内的datetime类型转换为char类型,这样在查询时数据库得到参数后先自动将数据库内的信息转换为yyyy-mm-dd格式,也就是取年月日,这样就可以取一个时间段内,一个班级的刷卡总人数了
好久没写BLOG,临时写个刚刚想的,不登大雅啊.:(