我爱Aspx >> Asp.Net >> SQL查询语言基本教程(2)SQL查询语言基本教程(2)
三、GROUP BY...语句
GROUP BY... 语句实现纪录分组功能,它通常需要和上面我们提到过的统计函数 SUM、COUNT 等联合使用,它的语法为:
SELECT column1[, column2]
FROM table1[,table2]
WHERE conditions
GROUP BY column1[, column2]
ORDER BY column1[, column2]
范例四:计算学生成绩及总成绩
我们依然使用上一章使用的数据库 c:\db4.mdb,在其中加入一个名字为 db2 的表,表的结构以及数据如下:
字段名 学生 科目 成绩
张严 语文 86.5
李永 语文 93
王为 语文 91
张严 数学 96.5
李永 数学 90
王为 数学 87
张严 英语 80.5
李永 英语 94
王为 英语 98
建立新工程,加入DAO定义库。在Form1中加入一个ListBox控件,然后在Form_load中加入以下代码:
Private Sub Form_Load()
Dim rsTemp As Recordset
Dim dbTemp As Database
Dim astr As String
Set dbTemp = DBEngine(0).OpenDatabase("c:\db4.mdb", dbOpenSnapshot)
astr = "SELECT SUM(db2.成绩)AS rTotal, FORMAT((AVG(db2.成绩)),'###.#') AS rAVG, " & _
" (db2.学生) AS Student FROM db2 GROUP BY db2.学生"
Set rsTemp = dbTemp.OpenRecordset(astr)
If rsTemp.RecordCount > 0 Then
rsTemp.MoveFirst
Do Until rsTemp.EOF
List1.AddItem rsTemp![Student] & Chr(5) & rsTemp![rTotal] & _
" " & rsTemp![rAVG]
rsTemp.MoveNext
Loop
End If
End Sub
在上面的代码中,我们利用GROUP BY将纪录根据学生姓名分组,再建立了两个统计字段rTotal和rAvg并分别利用
统计函数SUM和AVG分别统计各个分组的总成绩以及平均成绩。要注意的是,在SELECT语句中出现的字段,如果没有包含
在统计函数内的话,都要包含在GROUP BY子句中。
另外在上面的SQL查询中我们还使用了FORMAT子句,这是SQL中的转换和格式化语句中的一个,该语句的语法同VB中
Ҷƪл˵?
Duwamish Online SQL XML 分类浏..[05-05]
PHP4 + MYSQL + APACHE 在 WIN 系..[05-05]
基于MySQL的高性能数据库应用开发[05-05]
ASP调用SQL SERVER存储程序[05-05]
MySQL based on Linux by C[05-05]
利用SQL Server发邮件[05-05]
基于MySQL的高性能数据库应用开发[05-05]
ASP调用SQL SERVER存储程序[05-05]
MySQL based on Linux by C[05-05]
利用SQL Server发邮件[05-05]
OpenSource的末日?[05-05]
Windows未公开函数揭密——之三[05-05]
Windows未公开函数揭密——之三[05-05]
谁能撼动微软[05-05]
Windows未公开函数揭密——之二[05-05]
Windows未公开函数揭密——之一[05-05]
C#:消息队列应用程序[05-05]
ASP值多少钱,还能值钱多久[05-05]
面向对象技术在软件重用和体系结..[05-05]
tomcat和apusic安全问题,会死机..[05-05]