精彩的表数据排序分组

来源:互联网 发布:大的淘宝店铺转让平台 编辑:程序博客网 时间:2024/05/16 05:53
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
       今天,当你需要对一个没有排序ID的表进行排序,并且想给每一行数据都给一个序号。这相当于很多人问到的,如何在一个视图中为每一行增加一个自动增长的“ID”号。你可以这样写:

Selecta.Badge,Count(a.Badge)asxorder

      FromcPayrolla,cPayrollb

                 Wherea.Badge>=b.Badge Groupbya.Badge

         看了以后的语句,你可能会觉得非常简单。在以上的基础上,还可以满足以下这样一个很实用的功能。一个表中的前20行分成第1组,从21行-->40行分成第2组,41-->60分成第3组。也即是在一个表的基础上拓展用视图生成以下的数据。(xOrder与Group 都是视图生成的。)

Badge    xOrder   Group

A1             1              G1

A2              2              G1

.                   

B1             21            G2

B2            22            G2

...

C1             41              G3

...

           在上面的视图得出来以后,我们就可以用Select*from ViewNameWhere Group='G1'  ('G2'....)的语句进行分组或分页显示查询了。以下我们来生成这样的结果.

          在排序功能实现了以后,再实现分组,就是略微变化一下而已:

SelectBadge, Count(a.Badge)asxorder ,Cast(((Count(a.Badge)-1)/20)+1asvarchar(10))asGroup

       FromcPayrolla,cPayrollb

                 Wherea.Badge>=b.Badge Groupbya.Badge


<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击