数据:
省份代码 城市代码 销量
01 0101 16
01 0102 8
01 0103 15
01 0104 3
01 0105 2
01 0106 1
01 0107 4
01 0108 5
01 0109 6
01 0110 7
01 0111 9
01 0112 10
01 0113 11
01 0114 12
01 0115 13
01 0116 14
02 0201 3
02 0202 8
02 0203 15
02 0204 16
02 0205 2
02 0206 1
02 0207 4
02 0208 5
02 0209 6
02 0210 7
02 0211 9
02 0212 10
02 0213 11
02 0214 12
02 0215 13
02 0216 14标注红色的地方是想得到的结果
省份代码 城市代码 销量
01 0101 16
01 0102 8
01 0103 15
01 0104 3
01 0105 2
01 0106 1
01 0107 4
01 0108 5
01 0109 6
01 0110 7
01 0111 9
01 0112 10
01 0113 11
01 0114 12
01 0115 13
01 0116 14
02 0201 3
02 0202 8
02 0203 15
02 0204 16
02 0205 2
02 0206 1
02 0207 4
02 0208 5
02 0209 6
02 0210 7
02 0211 9
02 0212 10
02 0213 11
02 0214 12
02 0215 13
02 0216 14标注红色的地方是想得到的结果
解决方案 »
- 长时间工作弄昏了,求一个sql语句,谢谢
- SQL2005转为sql2000时,发生两个问题
- 重复数据无法删除
- 现在要把table2 追加到table1里,用一句SQL(字段名不一样,实际一样)
- 同时向多个表中查入数据的问题
- reporting server 中显示统计数据问题
- 100分求一SQL 大家试着挑战下(分数不够,解决了再补100) 请大家帮帮我 真的很急
- 用企业管理器打开一个表,发现有些记录的某字段无法手工修改,而且该字段看上去是空的
- 弱弱地问,请问如何将分行显示的SQL语句合在一行显示
- 急求:vfp下对文本文件加密的prg
- 疑问:主键到底意味着什么?
- 请教sql 数据表为(零售户代码,销售额) 想选出销售额最大的一些零售户代码 使他们的累计销售额大等于总销售额的50% 谢谢
-- Author : htl258(Tony)
-- Date : 2010-04-09 13:24:53
-- 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 2)
--------------------------------------------------------------------------
--> 生成测试数据表:tbIF NOT OBJECT_ID('[tb]') IS NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb]([省份代码] NVARCHAR(10),[城市代码] NVARCHAR(10),[销量] INT)
INSERT [tb]
SELECT '01','0101',16 UNION ALL
SELECT '01','0102',8 UNION ALL
SELECT '01','0103',15 UNION ALL
SELECT '01','0104',3 UNION ALL
SELECT '01','0105',2 UNION ALL
SELECT '01','0106',1 UNION ALL
SELECT '01','0107',4 UNION ALL
SELECT '01','0108',5 UNION ALL
SELECT '01','0109',6 UNION ALL
SELECT '01','0110',7 UNION ALL
SELECT '01','0111',9 UNION ALL
SELECT '01','0112',10 UNION ALL
SELECT '01','0113',11 UNION ALL
SELECT '01','0114',12 UNION ALL
SELECT '01','0115',13 UNION ALL
SELECT '01','0116',14 UNION ALL
SELECT '02','0201',3 UNION ALL
SELECT '02','0202',8 UNION ALL
SELECT '02','0203',15 UNION ALL
SELECT '02','0204',16 UNION ALL
SELECT '02','0205',2 UNION ALL
SELECT '02','0206',1 UNION ALL
SELECT '02','0207',4 UNION ALL
SELECT '02','0208',5 UNION ALL
SELECT '02','0209',6 UNION ALL
SELECT '02','0210',7 UNION ALL
SELECT '02','0211',9 UNION ALL
SELECT '02','0212',10 UNION ALL
SELECT '02','0213',11 UNION ALL
SELECT '02','0214',12 UNION ALL
SELECT '02','0215',13 UNION ALL
SELECT '02','0216',14
GO
--SELECT * FROM [tb]-->SQL查询如下:
select * from tb t where 销量 in(select top 20 percent 销量 from tb where [省份代码]=t.[省份代码] order by 销量 desc)/*
省份代码 城市代码 销量
---------- ---------- -----------
01 0101 16
01 0103 15
01 0115 13
01 0116 14
02 0203 15
02 0204 16
02 0215 13
02 0216 14(8 行受影响)
*/按系统算出来是每组四行。