zoukankan      html  css  js  c++  java
  • mysql分组排序取前N条记录的最简洁的单条sql !

    -- mysql分组排序取前N条记录的最简洁的单条sql。
    use test;
    drop table if exists test;
    create table test (
      id int primary key,
      cid int,
      author varchar(30)
    ) engine=myisam;
    insert into test values 
    (1,1,'test1'),
    (2,1,'test1'),
    (3,1,'test2'),
    (4,1,'test2'),
    (5,1,'test2'),
    (6,1,'test3'),
    (7,1,'test3'),
    (8,1,'test3'),
    (9,1,'test3'),
    (10,2,'test11'),
    (11,2,'test11'),
    (12,2,'test22'),
    (13,2,'test22'),
    (14,2,'test22'),
    (15,2,'test33'),
    (16,2,'test33'),
    (17,2,'test33'),
    (18,2,'test33');

    --
    select * from (select cid,author,count(*) as number from test group by cid,author) a
    where 
    2>(
        select count(*)
        from (select cid,author,count(*) as number from test group by cid,author) b
        where a.cid=b.cid and a.number<b.number
    )order by cid,number desc;

  • 相关阅读:
    C++ 四种cast 用法
    Wannafly挑战赛1 B Xorto
    python里的闭包
    编译器对类的编译顺序
    class和struct
    typedef类型别名
    decltype类型指示符
    左值和右值
    const限定符
    hdu5678 树上第k小
  • 原文地址:https://www.cnblogs.com/zfying/p/2605183.html
Copyright © 2011-2022 走看看