返回顶部
首页 > 资讯 > 数据库 >MYSQL中SQL如何分组
  • 455
分享到

MYSQL中SQL如何分组

2024-04-02 19:04:59 455人浏览 八月长安
摘要

这篇文章给大家分享的是有关Mysql中sql如何分组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。      在mysql中没有提供分组

这篇文章给大家分享的是有关Mysqlsql如何分组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

     在mysql中没有提供分组统计函数,但mysql中变量使用非常灵活,在sql中可以灵活使用变量,这给mysql实现分组的方式带来很大方便,因此在
 mysql实现一个分组统计的功能也并不难以实现,且理解起来还比较容易,比如我们提供一下的数据,用来描述,查询出的关键词的词频数,然后根据关键词的
 类型,分组统计组内词频出现次数最后的前三挑数据
 CREATE TABLE `policy_keyWords_rel` ( 
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', 
  `content_id` int(11) NOT NULL COMMENT '文章id', 
  `keyword_id` int(11) NOT NULL COMMENT '关键词id', 
  `cnt` int(11) NOT NULL COMMENT '关键词频次', 
  `n` varchar(10) DEFAULT NULL, 
  `keyword` varchar(90) DEFAULT NULL COMMENT '关键词名称', 
  PRIMARY KEY (`content_id`,`keyword_id`), 
  KEY `id` (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8

INSERT INTO dwsurvey.policy_keywords_rel (id,content_id,keyword_id,cnt,n,keyword)
VALUES (3,1,68860,3,'te','知识产权');

INSERT INTO dwsurvey.policy_keywords_rel (id,content_id,keyword_id,cnt,n,keyword)
VALUES (13,1,49258,5,'n','科技创新');

INSERT INTO dwsurvey.policy_keywords_rel (id,content_id,keyword_id,cnt,n,keyword)
VALUES (1,1,44177,19,'te','技术');

INSERT INTO dwsurvey.policy_keywords_rel (id,content_id,keyword_id,cnt,n,keyword)
VALUES (4,1,42982,3,'te','行业标准');

INSERT INTO dwsurvey.policy_keywords_rel (id,content_id,keyword_id,cnt,n,keyword)
VALUES (10,1,7405,6,'n','市政府');


select * from policy_keywords_rel

从如下sql中可以查询出,组内词频数据排名,且相同词频的数据排名相同
SELECT
 T2.*
FROM
 (
  SELECT
    T.*
   ,CASE
    WHEN @MID = N and @TEMP_SCNT != SCNT THEN @ROW := @ROW + 1
    WHEN @MID = N and @TEMP_SCNT = SCNT THEN @ROW := @ROW
    ELSE @ROW := 1
    END ROWNUM
   ,@MID := N MID
   ,@TEMP_SCNT := SCNT
  FROM
   (
    SELECT
     KEYWORD_ID,
     KEYWORD,
     SUM( CNT ) as SCNT,
     N
    FROM
     POLICY_KEYWORDS_REL
    GROUP BY
     KEYWORD_ID,
     N
    ORDER BY
     N,
     SUM( CNT ) DESC
   ) AS T
 ) AS T2
WHERE
 T2.ROWNUM <= 3

感谢各位的阅读!关于“MYSQL中SQL如何分组”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: MYSQL中SQL如何分组

本文链接: https://lsjlt.com/news/62335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MYSQL中SQL如何分组
    这篇文章给大家分享的是有关MYSQL中SQL如何分组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。      在mysql中没有提供分组...
    99+
    2024-04-02
  • sql如何进行分组查询
    在SQL中,可以使用GROUP BY子句进行分组查询。语法如下:SELECT 列1, 列2, ... 列nFROM 表名GR...
    99+
    2023-09-15
    sql
  • 如何使用SQL语句在MySQL中进行数据排序和分组?
    如何使用SQL语句在MySQL中进行数据排序和分组?在数据库中,我们经常需要对数据进行排序和分组以满足不同的需求。MySQL提供了强大的SQL语句来实现这些操作。本文将介绍如何使用SQL语句在MySQL中进行数据排序和分组,并提供具体的代码...
    99+
    2023-12-17
    分组 SQL语句 数据排序
  • mysql如何分组求和
    本篇内容介绍了“mysql如何分组求和”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • sql如何分组并计算数量
    在SQL中,使用GROUP BY子句可以将数据分组,并使用聚合函数计算每个组的数量。例如,假设有一个名为"orders"的表,其中包...
    99+
    2023-08-08
    sql
  • mysql如何做分组排序
    在mysql中实现分组排序的方法首先,在命令行中启动MySQL服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登录到MySQL;mysql -u root -p登录到MySQL后,...
    99+
    2024-04-02
  • mysql中如何使用show profiles分析sql性能
    这篇文章主要介绍了mysql中如何使用show profiles分析sql性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Show pro...
    99+
    2024-04-02
  • sql如何查询数组中in
    这篇文章主要介绍sql如何查询数组中in,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!$platform_ministry = M('platform_m...
    99+
    2024-04-02
  • sql中如何in一个数组
    sql in 运算符用于检查一个值是否属于数组。语法:select * from table_name where field_name in (value1, va...
    99+
    2024-05-15
    排列
  • mysql如何实现分组求和
    这篇文章主要介绍“mysql如何实现分组求和”,在日常操作中,相信很多人在mysql如何实现分组求和问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如何实现分组求和”...
    99+
    2024-04-02
  • mysql如何使用分组排序
    mysql中使用分组排序的方法在mysql中使用order by方法实现分组排序实现方法如下:select id, (@rowno := @rowno + 1) as rank,score,(C.end_time - C.star...
    99+
    2024-04-02
  • MySQL如何进行分组查询
    MySQL中可以使用GROUP BY关键字进行分组查询。具体的语法为:SELECT 列名1, 列名2, ...FROM 表名...
    99+
    2023-10-10
    MySQL
  • mysql分组后如何拿到每组数据
    在MySQL中,您可以使用GROUP BY子句对数据进行分组,并使用聚合函数如COUNT、SUM等对每个组进行聚合操作。如果您想要取...
    99+
    2024-04-20
    MySQL
  • mysql中sql块如何使用
    这篇文章主要介绍了mysql中sql块如何使用,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql中sql块的用法:1、进行非默认的排序;2...
    99+
    2024-04-02
  • Mysql如何使用profile分析sql开销
    小编给大家分享一下Mysql如何使用profile分析sql开销,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Mysql使用profile分析sql开销1.使用之前先查看当前数据库的版本信息,...
    99+
    2024-04-02
  • SQL 如何在时间序列中根据字段变化分组
    将排序(一般按时间排)后的数据按某字段变化分组统计,也就是分组字段值与上一行的值比较,如果相同则分到与上一行同组,不同时则创建一个新组。 这个问题用SQL来做很难! SQL的集合是无序的,早期SQL没有相邻行引用的方法。SQL2003标...
    99+
    2018-04-15
    SQL 如何在时间序列中根据字段变化分组
  • mysql如何分组统计并求出百分比
    目录mysql分组统计并求出百分比1、mysql 分组统计并列出百分比2、按年龄段分组,并求个年龄段占比mysql求百分比的几种方法函数介绍利用round,format,left与c...
    99+
    2022-11-13
    mysql分组统计 mysql百分比 mysql统计
  • mysql中如何防止sql注入
    mysql中防止sql注入的方法:构造execute参数列表,让模块自动拼装查询字符串,从而防止sql注入的效果,例如:# 安全方式find_name = input("请输入您要查询产品的名称:")# 构造参数列表params = [fi...
    99+
    2024-04-02
  • MySQL中如何实现SQL拼接
    在MySQL中,可以使用CONCAT()函数来实现SQL拼接。CONCAT()函数可以将多个字符串拼接在一起,例如:...
    99+
    2024-04-29
    MySQL SQL
  • 如何理解MySQL SQL Profiler性能分析器
    这篇文章给大家介绍如何理解MySQL SQL Profiler性能分析器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 MySQL SQL Profile...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作