表table_x 
id       pd        mc      cs        dz
11       频道一     名称A    135       xxxx
23        频道一     名称A    154       yyyy
31        频道三     名称X    234       zzz
44        频道四     名称K    3475       cccccs是点击的次数,现在需要统计某个名称的节目的点击次数排行榜,不单是点击的总数,包括其最新一条节目的所有的字段用做排行列表的链接。

解决方案 »

  1.   

    取出来后,如:
    名称A   289 次   地址:xxxx
    名称X   234  次  地址:zzz
    名称K   3475  次 地址:cccc
      

  2.   

    ID最小?select m.* , n.dz from
    (select t.* from table_x t where id = (select min(id) from table_x where mc = t.mc)) n,
    (select mc , cs = sum(cs) from table_x group by mc) m
    where m.mc = n.mc
      

  3.   

    create table table_x(id int, pd varchar(10), mc varchar(10), cs int, dz varchar(10))
    insert into table_x values(11, '频道一', '名称A', 135 , 'xxxx') 
    insert into table_x values(23, '频道一', '名称A', 154 , 'yyyy') 
    insert into table_x values(31, '频道三', '名称X', 234 , 'zzz') 
    insert into table_x values(44, '频道四', '名称K', 3475, 'cccc')
    go select m.* , n.dz from
    (select t.* from table_x t where id = (select min(id) from table_x where mc = t.mc)) n,
    (select mc , cs = sum(cs) from table_x group by mc) m
    where m.mc = n.mcdrop table table_x/*
    mc         cs          dz
    ---------- ----------- ----------
    名称A        289         xxxx
    名称K        3475        cccc
    名称X        234         zzz(3 行受影响)
    */
      

  4.   

    --这个简单点.
    create table table_x(id int, pd varchar(10), mc varchar(10), cs int, dz varchar(10))
    insert into table_x values(11, '频道一', '名称A', 135 , 'xxxx') 
    insert into table_x values(23, '频道一', '名称A', 154 , 'yyyy') 
    insert into table_x values(31, '频道三', '名称X', 234 , 'zzz') 
    insert into table_x values(44, '频道四', '名称K', 3475, 'cccc')
    go select m.* , n.dz from table_x n,
    (select mc , cs = sum(cs) , id = min(id) from table_x group by mc) m
    where m.mc = n.mc and m.id = n.iddrop table table_x/*
    mc         cs          dz
    ---------- ----------- ----------
    名称A        289         xxxx
    名称K        3475        cccc
    名称X        234         zzz(3 行受影响)
    */
      

  5.   

    取出来后,如: 
    名称K       3475   次       地址:xxxx 
    名称A       289     次     地址:zzz 
    名称X       234     次   地址:cccc
      

  6.   

    --这个排序了.
    create table table_x(id int, pd varchar(10), mc varchar(10), cs int, dz varchar(10))
    insert into table_x values(11, '频道一', '名称A', 135 , 'xxxx') 
    insert into table_x values(23, '频道一', '名称A', 154 , 'yyyy') 
    insert into table_x values(31, '频道三', '名称X', 234 , 'zzz') 
    insert into table_x values(44, '频道四', '名称K', 3475, 'cccc')
    go select m.mc , m.cs , n.dz from table_x n,
    (select mc , cs = sum(cs) , id = min(id) from table_x group by mc) m
    where m.mc = n.mc and m.id = n.id
    order by m.cs descdrop table table_x/*
    mc         cs          dz
    ---------- ----------- ----------
    名称K        3475        cccc
    名称A        289         xxxx
    名称X        234         zzz(3 行受影响)
    */
      

  7.   

    create table table_x(id int, pd varchar(10), mc varchar(10), cs int, dz varchar(10))
    insert into table_x values(11, '频道一', '名称A', 135 , 'xxxx') 
    insert into table_x values(23, '频道一', '名称A', 154 , 'yyyy') 
    insert into table_x values(31, '频道三', '名称X', 234 , 'zzz') 
    insert into table_x values(44, '频道四', '名称K', 3475, 'cccc')
    go select m.* , n.dz from
    (select t.* from table_x t where id = (select min(id) from table_x where mc = t.mc)) n,
    (select mc , cs = sum(cs) from table_x group by mc) m
    where m.mc = n.mc
    order by cs desc/*
    mc         cs          dz
    ---------- ----------- ----------
    名称K        3475        cccc
    名称A        289         xxxx
    名称X        234         zzz(3 row(s) affected)
    */drop table table_x