Foxtable(狐表)用户栏目专家坐堂 → 问一条SQL语句


  共有9101人关注过本帖树形打印复制链接

主题:问一条SQL语句

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
问一条SQL语句  发帖心情 Post By:2012/7/16 8:40:00 [只看该作者]

  有两个表:

  一个是明细表      字段有条形码      数量

 一个是统计表       字段有条形码      排名


  我想在统计表里面输入一个相对应的条形码   排名根据明细表的数量总和进行自动排名


  这个SQL语句怎么写?
[此贴子已经被作者于2012-7-16 8:40:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/16 8:52:00 [只看该作者]

一个条形码,怎么自动排名?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/7/16 9:26:00 [只看该作者]

明细表里面是详细的数据  当然有N多条的 商品条码 

举个例子:

明细表:

条码    数量
001     50
001     100
001     300
002     50
002     50
002     50



那么我在统计表里面输入:
条码      排名
001       1
002       2     这个排名是根据数量来排名的


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/7/16 10:10:00 [只看该作者]

唉,算了还是加了个辅助列解决了.

 回到顶部
帅哥哟,离线,有人找我吗?
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/7/16 10:30:00 [只看该作者]

--SQL 2005以上版本

SELECT 排名

FROM

(

    SELECT 条形码,ROW_NUMBER() OVER(ORDER BY SUM(数量)) AS 排名

    FROM  明细表

    GROUP BY 条形码

) A

WHERE 条形码 = '002'


 回到顶部
帅哥哟,离线,有人找我吗?
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/7/16 10:30:00 [只看该作者]

--Access及所有SQL版本通用

SELECT COUNT(1) AS 排名 FROM

(

    SELECT TOP 100 PERCENT 条形码,SUM(数量) AS 合计

    FROM  明细表

    GROUP BY 条形码

    ORDER BY SUM(数量)

) A

WHERE A.合计 > =

(

    SELECT 合计 FROM

    (

        SELECT TOP 100 PERCENT 条形码,SUM(数量) AS 合计

        FROM  明细表

        GROUP BY 条形码

        ORDER BY SUM(数量)

    ) A

    WHERE A.条形码 = '002'

)


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/7/16 10:59:00 [只看该作者]

谢谢  飞  为什么是top100  ,不明白了.


我用辅助列解决了.

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/7/16 11:03:00 [只看该作者]

飞真是SQL高手。


 回到顶部