表A
pk name cource score
--------------------------------
1 张三 语文 30
2 张三 语文 40
3 李四 语文 20
4 李四 语文 30
5 李四 语文 40希望能得到以下结果张三 语文 70
李四 语文 90
pk name cource score
--------------------------------
1 张三 语文 30
2 张三 语文 40
3 李四 语文 20
4 李四 语文 30
5 李四 语文 40希望能得到以下结果张三 语文 70
李四 语文 90
GROUP BY NAME ,COURCE
GROUP BY NAME ,COURCE
select name, cource,count(score) from A group by name,cource
-- Author : htl258(Tony)
-- Date : 2010-04-30 08:37:55
-- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
-- Blog : http://blog.csdn.net/htl258
--------------------------------------------------------------------------
--> 生成测试数据表:tbIF NOT OBJECT_ID('[tb]') IS NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb]([pk] INT,[name] NVARCHAR(10),[cource] NVARCHAR(10),[score] INT)
INSERT [tb]
SELECT 1,N'张三',N'语文',30 UNION ALL
SELECT 2,N'张三',N'语文',40 UNION ALL
SELECT 3,N'李四',N'语文',20 UNION ALL
SELECT 4,N'李四',N'语文',30 UNION ALL
SELECT 5,N'李四',N'语文',40
GO
--SELECT * FROM [tb]-->SQL查询如下:
select name,cource,SUM(score) score from tb group by name,cource
/*
name cource score
---------- ---------- -----------
李四 语文 90
张三 语文 70(2 行受影响)
*/
CREATE TABLE 表A(pk NUMERIC, name CHAR(10), cource CHAR(14), score NUMERIC)
INSERT 表A
SELECT 1,'张三','语文',30 UNION ALL
SELECT 2,'张三','语文',40 UNION ALL
SELECT 3,'李四','语文',20 UNION ALL
SELECT 4,'李四','语文',30 UNION ALL
SELECT 5,'李四','语文',40
SELECT NAME,COURCE,SUM(SCORE) AS 总成绩 FROM 表A GROUP BY NAME,COURCE ORDER BY SUM(SCORE)
select name,cource,SUM(score) score from A group by name,cource
GROUP BY NAME ,COURCE
sum(score)
from tb
group by name,cource
from tb
group by name,cource
少了逗号