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

  • 相关阅读:
    Yii2 composer报错处理
    bootstrap元素居中
    前端面试题
    control-lable的用法
    jenkins持续集成搭建
    gitlab管理平台搭建
    mysql8.0.11安装
    nexus私服搭建、配置、使用
    mysql5.7.22安装
    nginx配置阿里云免费ssl证书实现https化
  • 原文地址:https://www.cnblogs.com/kjcy8/p/14589047.html
Copyright © 2011-2022 走看看