项目名称,数量
A1 2
A2 3
A1 -2
A4 2
用什么语句,只找到
A2 3
A4 2
A1 2
A2 3
A1 -2
A4 2
用什么语句,只找到
A2 3
A4 2
解决方案 »
- SQL2008登陆问题(本机服务器名称采用IP方式看不见数据库)
- 有个小问题,帮忙看下,在线等,谢!
- .....请有经验的人看看....
- 获取存储过程参数问题,请高手指点
- 关于查询的问题!
- 急!▇▇▇▇▇ SQL数据过滤问题。高手来,有主逻辑错误。在线等
- 急!MSSqL数据导入到access发生类型改变问题。。
- 各位大侠:在sql语句中如何滤除查询后的重复字段!!本小妹在线等候!切急!!
- 每次卸载SQL Server2000后,就不能从装SQL Server2000
- insert has more expressions than target columns,啥意思啊?
- 快救救我啊,关于SQL 新建作业问题
- paradox数据库提示[Microsoft][ODBC Paradox Driver]无法从指定的数据表中删除
FROM TB
GORUP BY NAME
select 项目名称,sum(数量) from tb a
group by 项目名称
having sum(数量)>0
-- Author : htl258(Tony)
-- Date : 2010-04-26 11:21:46
-- 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]([名称] NVARCHAR(10),[数量] INT)
INSERT [tb]
SELECT 'A1',2 UNION ALL
SELECT 'A2',3 UNION ALL
SELECT 'A1',-2 UNION ALL
SELECT 'A4',2
GO
--SELECT * FROM [tb]-->SQL查询如下:
select 名称,SUM(数量) 数量 from tb group by 名称 having SUM(数量)>0
/*
名称 数量
---------- -----------
A2 3
A4 2(2 行受影响)
*/
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([项目名称] varchar(2),[数量] int)
insert [TB]
select 'A1',2 union all
select 'A2',3 union all
select 'A1',-2 union all
select 'A4',2
select * from [TB]
where 项目名称 in (select 项目名称 from TB group by 项目名称 having sum(数量)>0)/*
项目名称 数量
---- -----------
A2 3
A4 2(所影响的行数为 2 行)*/drop table tb
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([项目名称] varchar(2),[数量] int)
insert [TB]
select 'A1',2 union all
select 'A2',3 union all
select 'A1',-2 union all
select 'A4',2
select * from [TB]
where 项目名称 in (select 项目名称 from TB group by 项目名称 having sum(数量)>0)/*
项目名称 数量
---- -----------
A2 3
A4 2(所影响的行数为 2 行)*/drop table tb
select 项目名称, sum(数量) from tb group by 项目名称 having sum(数量)>0
select * from tb where 项目名称 not in (select 项目名称 from tb group by 项目名称 having count(1) > 1)
INSERT [tb]
SELECT 'A1',2 UNION ALL
SELECT 'A2',3 UNION ALL
SELECT 'A1',-2 UNION ALL
SELECT 'A4',2select * from tb where 项目名称 not in (select 项目名称 from tb group by 项目名称 having count(1) > 1)select * from tb where 项目名称 in (select 项目名称 from tb group by 项目名称 having count(1) = 1)drop table tb/*项目名称 数量
---------- -----------
A2 3
A4 2(所影响的行数为 2 行)项目名称 数量
---------- -----------
A2 3
A4 2(所影响的行数为 2 行)
*/