-
sql 2005 排序取值 聚合 行列转换5
店名 物品 价钱
肯德基 土豆条 20
肯德基 鸡翅膀 15
肯德基 鸭脖子 30
麦当劳 匹萨 46
麦当劳 果汁 15
麦当劳 可乐 2
麦当劳 哇哈哈 4
麦当劳 雪碧 35
中国菜 红烧鱼 65
中国菜 小白菜 10
中国菜 炒鸡蛋 13
中国菜 萝卜条 6
需要如下:
店名 第一贵的 第二贵的 一共 占有的%
肯德基 鸭脖子 鸡翅膀 45 69
麦当劳 匹萨 雪碧 81 96
中国菜 红烧鱼 炒鸡蛋 78 972010年6月21日 17:48
2个答案 按时间排序 按投票排序
-
看这结果如何。
select a.dianming,wupin,jiaqian,s,jiaqian/s*100
from
(
select *
from tbl_test as a
where wupin in(select top 2 wupin from tbl_test where dianming=a.dianming order by jiaqian desc)
) a
inner join
(
select dianming,sum(jiaqian) as s
from tbl_test as a
where wupin in(select top 2 wupin from tbl_test where dianming=a.dianming order by jiaqian desc)
group by dianming
) b on a.dianming=b.dianming
肯德基 土豆条 20.00000 50.00000 40.0000000000000000
肯德基 鸭脖子 30.00000 50.00000 60.0000000000000000
麦当劳 匹萨 46.00000 81.00000 56.7901234567901235
麦当劳 雪碧 35.00000 81.00000 43.2098765432098765
中国菜 红烧鱼 65.00000 78.00000 83.3333333333333333
中国菜 炒鸡蛋 13.00000 78.00000 16.66666666666666672010年6月29日 17:49
-
id dianming wupin jiaqian
1 肯德基 土豆条 20.00000
2 肯德基 鸡翅膀 15.00000
3 肯德基 鸭脖子 30.00000
4 麦当劳 匹萨 46.00000
5 麦当劳 果汁 15.00000
6 麦当劳 可乐 2.00000
7 麦当劳 哇哈哈 4.00000
8 麦当劳 雪碧 35.00000
9 中国菜 红烧鱼 65.00000
10 中国菜 小白菜 10.00000
11 中国菜 炒鸡蛋 13.00000
12 中国菜 萝卜条 6.00000
select *
from tbl_test as a
where wupin in(select top 2 wupin from tbl_test where dianming=a.dianming order by jiaqian desc)
我只能做到这份上,等着你有更好的方案。
2010年6月29日 17:44
相关推荐
Sql语句实现表的行列转换,行转列,列转行
sql试题及答案,sql 行列转换,sql存储过程实例
SQL2000 和 SQL2005 下 行列转换 示例 - freeliver54 - 博客园.pdf
sql server 行列转换.
动态 实现 SQL 2008行列转换的pivot
SQL的排序聚合聚合函数: avg([all|distinct]column) avg:平均数 sum([all|distinct]column) sum:求和 max([all|distinct]column) max: 最大值 min([all|distinct]column) min: 最小值 count([all|distinct]...
sql行列转换扩展 明源内部学习资料
SQL语句行列转换(附带数据库、表、视图操作) ,不错的文档。
修改SQL数据库排序规则修改表栏位排序规则 修改SQL数据库排序规则: 1.修改为单用户模式 2.然后关闭所有的查询窗口,修改Options的Collocation属性,如:Chinese_PRC_90_CI_AS 3.再修改为多用户模式 修改表栏位...
oracle sql行列转换
这是创建数据表和插入数据的脚本,可以理解为博文http://blog.csdn.net/maco_wang/article/details/7932941的附件。 由于脚本较长,直接发在博文中很不美观。
C# SQL2005 分页排序存储过程 C# SQL2005 分页排序存储过程
sqlserver行列转换,实现行列转换,全部脚本,测试通过
行列转换SQL存储过程代码,简单的将行数据转换为列展示
主要介绍了SQLServer行列互转实现思路,使用聚合函数pivot/unpivot实现行列互转,感兴趣的小伙伴们可以参考一下
SQL用中文字段排序,默认是按拼音来排的。 MSSQL2005不是这样的,那么排序问题怎么解决呢? 很简单,加上我们希望根据什么来(拼音或者笔画)排序的排序规则就好了。
通过一条查询语句,进行行列转换。例如 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 ...
将字符串数据进行聚合,来实现 系统的sum(),count()等效果