zoukankan      html  css  js  c++  java
  • SQL 设置变量 取出每天发文章最多的2个用户

    我用的是MySQL,

    以日期、作者分组,

    SELECT LEFT(addtime,10) as date, writer, count(writer) as writer_count FROM archives
    GROUP BY date,writer ORDER BY date DESC, writer_count DESC

    查询结果有多余数据,每天只需要取出前两行

    以日期分组标出序号 row_num,

    SET @num = 0;
    SET @date = '';
    SELECT *, @num := if(@date=date, @num := @num+1, 1) as row_num, @date := date as '@date' FROM
        ( SELECT LEFT(addtime,10) as date, writer, count(writer) as writer_count FROM archives
          GROUP BY date,writer ORDER BY date DESC, writer_count DESC
        ) as archives_count

    WHERE row_num <= 2  就行了

    SET @num = 0;
    SET @date = '';
    SELECT * FROM 
        ( SELECT *, @num := if(@date=date, @num := @num+1, 1) as row_num, @date := date as '@date' FROM
                ( SELECT LEFT(addtime,10) as date, writer, count(writer) as writer_count FROM archives
                  GROUP BY date,writer ORDER BY date DESC, writer_count DESC
                ) as archives_count
        ) as archives_count_row_num
    WHERE row_num<=2

  • 相关阅读:
    一周心得5:
    一周心得4:
    历史上两个人合作成功的案例:
    对结对编程的理解:
    一周心得3:
    一周心得2:
    有关IT行业模仿案例及自己的评价与解析:
    一周心得:
    不懂的问题:
    自我介绍以及期望与目标:
  • 原文地址:https://www.cnblogs.com/kjcy8/p/14589047.html
Copyright © 2011-2022 走看看