兄弟:
你好!上周你回答了我的问题,现在我的问题又来了,还是老问题,能帮我么?
原来我问的问题是下面这个问题:
销售额 排名 销售成本 排名
成都 100 30
乐山 70 25
德阳 90 35
绵阳 80 15
-------------------------------------------
我现在就想,写个SQL语句能不能达到如下效果:
销售额 排名 销售成本 排名
成都 100 1 30 2
德阳 90 2 35 1
绵阳 80 3 15 4
乐山 70 4 25 3
合计 340 105
你写的语句是
SELECT aa.地区, 销售额, aa.排名1 AS 排名, 销售成本, bb.排名2 AS 排名
FROM (SELECT a.地区, a.销售额, COUNT(*) AS 排名1
FROM cheshi1 a, cheshi1 b
WHERE a.销售额 <= b.销售额
GROUP BY a.地区, a.销售额) aa,
(SELECT a.地区, a.销售成本, COUNT(*) AS 排名2
FROM cheshi1 a, cheshi1 b
WHERE a.销售成本 <= b.销售成本
GROUP BY a.地区, a.销售成本) bb
WHERE aa.地区 = bb.地区
ORDER BY aa.排名1
union SELECT 地区 = '合计', 销售额 = SUM(销售额), NULL, 销售成本 = SUM(销售成本), NULL
FROM cheshi1
但是现在问题又变复杂了,我这个小菜鸟写了一阵子,还是搞不定,只好求助于你了。
这个问题就是如下的问题。
销售额 排名 销售成本 排名 月份
成都 100 30 1
乐山 80 25 1
德阳 70 35 1
绵阳 80 15 1
成都 110 35 2
乐山 75 35 2
德阳 75 40 2
绵阳 70 20 2
-------------------------------------------
我现在就想,写个SQL语句能不能达到如下效果:
销售额 排名 销售成本 排名
成都 210 1 65 2
德阳 155 2 60 3
绵阳 145 3 75 1
乐山 150 4 35 4
合计 660 235
兄弟拜托了,我的QQ是5421509,我的e-mail是[email protected]
你好!上周你回答了我的问题,现在我的问题又来了,还是老问题,能帮我么?
原来我问的问题是下面这个问题:
销售额 排名 销售成本 排名
成都 100 30
乐山 70 25
德阳 90 35
绵阳 80 15
-------------------------------------------
我现在就想,写个SQL语句能不能达到如下效果:
销售额 排名 销售成本 排名
成都 100 1 30 2
德阳 90 2 35 1
绵阳 80 3 15 4
乐山 70 4 25 3
合计 340 105
你写的语句是
SELECT aa.地区, 销售额, aa.排名1 AS 排名, 销售成本, bb.排名2 AS 排名
FROM (SELECT a.地区, a.销售额, COUNT(*) AS 排名1
FROM cheshi1 a, cheshi1 b
WHERE a.销售额 <= b.销售额
GROUP BY a.地区, a.销售额) aa,
(SELECT a.地区, a.销售成本, COUNT(*) AS 排名2
FROM cheshi1 a, cheshi1 b
WHERE a.销售成本 <= b.销售成本
GROUP BY a.地区, a.销售成本) bb
WHERE aa.地区 = bb.地区
ORDER BY aa.排名1
union SELECT 地区 = '合计', 销售额 = SUM(销售额), NULL, 销售成本 = SUM(销售成本), NULL
FROM cheshi1
但是现在问题又变复杂了,我这个小菜鸟写了一阵子,还是搞不定,只好求助于你了。
这个问题就是如下的问题。
销售额 排名 销售成本 排名 月份
成都 100 30 1
乐山 80 25 1
德阳 70 35 1
绵阳 80 15 1
成都 110 35 2
乐山 75 35 2
德阳 75 40 2
绵阳 70 20 2
-------------------------------------------
我现在就想,写个SQL语句能不能达到如下效果:
销售额 排名 销售成本 排名
成都 210 1 65 2
德阳 155 2 60 3
绵阳 145 3 75 1
乐山 150 4 35 4
合计 660 235
兄弟拜托了,我的QQ是5421509,我的e-mail是[email protected]
解决方案 »
- 怎么调用Word将系统中所填写的信息内容打印出来?
- 请教:我怎么把 edit1 和 updown1 这两个控件联系起来呢?谢谢!
- 分数不多(我没分了),但是问题很有意思,大家帮帮忙!
- 关于dll的,各位大哥帮帮我!可以给n多分!
- 急!ado的问题!在线等!
- 怎样才能杜绝socket发送端两次sendtext的东西,被接收端当作一个字符串接收?
- 一个查不到的函数——在线!1
- 请问有些什么办法可使程序有XP那样的效果(菜单,窗体,控件)? 先谢谢了!
- 请教 如何动态创建使用控件组?
- 在Delphi中用什么函数求两个是Tdatetime类型的变量的时间差
- 请问如何实现双击DBGrid中的一行时,该行的颜色变成其它的颜色
- 800分求一个解决方案....(WAV播放)
FROM (SELECT a.地区, a.销售额, COUNT(*) AS 排名1
FROM (select 地区,sum(销售额) as 销售额 from cheshi1 ) a,
(select 地区,sum(销售额) as 销售额 from cheshi1 ) b
WHERE a.销售额 <= b.销售额
GROUP BY a.地区, a.销售额) aa,
(SELECT a.地区, a.销售成本, COUNT(*) AS 排名2
FROM (select 地区,sum(销售成本) as 销售成本 from cheshi1 ) a,
(select 地区,sum(销售成本) as 销售成本 from cheshi1 ) b
WHERE a.销售成本 <= b.销售成本
GROUP BY a.地区, a.销售成本) bb
WHERE aa.地区 = bb.地区
ORDER BY aa.排名1
union SELECT 地区 = '合计', 销售额 = SUM(销售额), NULL, 销售成本 = SUM(销售成本), NULL
FROM cheshi1
FROM (SELECT a.地区, a.销售额, COUNT(*) AS 排名1
FROM (select 地区,sum(销售额) as 销售额 from cheshi1 group by 地区) a,
(select 地区,sum(销售额) as 销售额 from cheshi1 group by 地区) b
WHERE a.销售额 <= b.销售额
GROUP BY a.地区, a.销售额) aa,
(SELECT a.地区, a.销售成本, COUNT(*) AS 排名2
FROM (select 地区,sum(销售成本) as 销售成本 from cheshi1 group by 地区) a,
(select 地区,sum(销售成本) as 销售成本 from cheshi1 group by 地区) b
WHERE a.销售成本 <= b.销售成本
GROUP BY a.地区, a.销售成本) bb
WHERE aa.地区 = bb.地区
ORDER BY aa.排名1
union SELECT 地区 = '合计', 销售额 = SUM(销售额), NULL, 销售成本 = SUM(销售成本), NULL
FROM cheshi1
select 地区,sum(销售成本) as 销售成本, sum(销售额) as 销售额 from cheshi1 group by 地区
(或者select 地区,sum(销售成本) as 销售成本, sum(销售额) as 销售额 into #cheshi from cheshi1 group by 地区)
然后将以前的查询语句中的cheshi1替换成上面的查询或者#cheshi就行了。
(SELECT aa.地区, 销售额, aa.排名1 AS 排名, 销售成本, bb.排名2 AS 排名
FROM (SELECT a.地区, a.销售额, COUNT(*) AS 排名1
FROM (SELECT 地区, SUM(销售额) AS 销售额
FROM cheshi1
GROUP BY 地区) a,
(SELECT 地区, SUM(销售额) AS 销售额
FROM cheshi1
GROUP BY 地区) b
WHERE a.销售额 <= b.销售额
GROUP BY a.地区, a.销售额) aa,
(SELECT a.地区, a.销售成本, COUNT(*) AS 排名2
FROM (SELECT 地区, SUM(销售成本) AS 销售成本
FROM cheshi1
GROUP BY 地区) a,
(SELECT 地区, SUM(销售成本) AS 销售成本
FROM cheshi1
GROUP BY 地区) b
WHERE a.销售成本 <= b.销售成本
GROUP BY a.地区, a.销售成本) bb
WHERE aa.地区 = bb.地区)
UNION
(SELECT 地区 = '合计', 销售额 = SUM(销售额), NULL, 销售成本 = SUM(销售成本), NULL
FROM cheshi1)
ORDER BY aa.排名1
mrfanghansheng(☆☆☆木鱼☆☆☆) 你想要多少分哦? firetoucher(风焱) 你想要多少分哦? 2位辛苦了!
cc.排序3 AS 排序, 招拍挂占经营性用地面积, dd.排序4 AS 排序
FROM (SELECT a.地区, a.总收益, COUNT(*) AS 排序1
FROM (SELECT 地区, SUM(总收益) AS 总收益
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) a,
(SELECT 地区, SUM(总收益) AS 总收益
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) b
WHERE a.总收益 <= b.总收益
GROUP BY a.地区, a.总收益) aa,
(SELECT a.地区, a.总面积, COUNT(*) AS 排序2
FROM (SELECT 地区, SUM(总面积) AS 总面积
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) a,
(SELECT 地区, SUM(总面积) AS 总面积
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) b
WHERE a.总面积 <= b.总面积
GROUP BY a.地区, a.总面积) bb,
(SELECT a.地区, a.招拍挂占出让面积, COUNT(*) AS 排序3
FROM (SELECT 地区, SUM(招拍挂面积) / SUM(出让面积) AS 招拍挂占出让面积
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) a,
(SELECT 地区, SUM(招拍挂面积) / SUM(出让面积)
AS 招拍挂占出让面积
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) b
WHERE a.招拍挂占出让面积 <= b.招拍挂占出让面积
GROUP BY a.地区, a.招拍挂占出让面积) cc,
(SELECT a.地区, a.招拍挂占经营性用地面积, COUNT(*) AS 排序4
FROM (SELECT 地区, SUM(招拍挂面积) / SUM(经营性用地面积)
AS 招拍挂占经营性用地面积
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) a,
(SELECT 地区, SUM(招拍挂面积) / SUM(经营性用地面积)
AS 招拍挂占经营性用地面积
FROM bingtu
WHERE 县市区 = '合计'
GROUP BY 地区) b
WHERE a.招拍挂占经营性用地面积 <= b.招拍挂占经营性用地面积
GROUP BY a.地区, a.招拍挂占经营性用地面积) dd
WHERE aa.地区 = bb.地区 AND aa.地区 = cc.地区 AND aa.地区 = dd.地区)
UNION
(SELECT 地区 = '合计', 总收益 = SUM(总收益), NULL, 总面积 = SUM(总面积), NULL,
招拍挂占出让面积 = SUM(招拍挂面积) / SUM(出让面积), NULL,
招拍挂占经营性用地面积 = SUM(招拍挂面积) / SUM(经营性用地面积), NULL
FROM bingtu WHERE 县市区 = '合计')
ORDER BY aa.排序1