大学生户外活动小游戏:关于SQL语句问题的请教

来源:百度文库 编辑:高校问答 时间:2024/04/28 03:22:19
我有一个表 表里有一些商户的数据 每条数据包括商户的ID 交易时间(每天) 和交易额 现在我想做个查询 查商户本月的交易额与上月交易额的差 然后筛出差额的前几名 这个SQL该怎么写?

我现在用的很笨的方法是另外生成一张月报表,再在这从这两张表上分别取两个月的数据来筛选..请教有什么好一点的方法可以在同个表里面就筛选出结果么?

这里先谢谢了..
xndd兄..这样的查询能确保相减的两个select出来的结果对应的是同一个商户吗?

我改成
SELECT top 10 ((SELECT 交易额 from tablename WHERE 月 BETWEEN 本月1 AND 本月30)-(SELECT 交易额 from tablename WHERE 月 BETWEEN 上月1 AND 上月30)) from tablename;

如果相减两个selcet也top的话那相互对应的就不会是同个商户数据..

我得把表的情况再说明一下 表里每天有交易记录的商户大概有2000个..而且每个月的top10也基本不会相同.. 现在的问题是不清楚如何确保相减的是同个商户的数据..

先谢谢xndd兄

all:
1.SELECT top 10 (商户本月的交易额-上月交易额) from tablename;

商户本月的交易额:
2.SELECT top 10 交易额 from tablename WHERE 月 BETWEEN 本月1 AND 本月30;

上月交易额:
3.SELECT top 10 交易额 from tablename WHERE 月 BETWEEN 上月1 AND 上月30;

4.
SELECT top 10 ((SELECT top 10 交易额 from tablename WHERE 月 BETWEEN 本月1 AND 本月30)-(SELECT top 10 交易额 from tablename WHERE 月 BETWEEN 上月1 AND 上月30)) from tablename;