当前位置: 首页 > wzjs >正文

成都电商网站制作企业查询宝

成都电商网站制作,企业查询宝,全国水利建设市场信用信息平台门户网站,wordpress网站音乐放不全九、窗口函数(MySQL 8.0)​​ 适用于对结果集的子集(窗口)进行计算,常用于数据分析场景。 ​​ROW_NUMBER()​​ ​​作用​​:为每一行生成唯一的序号。​​示例​​:按分数降序排名 SELECT n…

九、窗口函数(MySQL 8.0+)​

适用于对结果集的子集(窗口)进行计算,常用于数据分析场景。

  1. ​ROW_NUMBER()​

    • ​作用​​:为每一行生成唯一的序号。
    • ​示例​​:按分数降序排名
      SELECT name, score, ROW_NUMBER() OVER (ORDER BY score DESC) AS rank 
      FROM students;
  2. ​RANK() 与 DENSE_RANK()​

    • ​区别​​:
      • RANK():允许并列排名,后续序号跳过重复值(如 1,2,2,4)。
      • DENSE_RANK():允许并列排名,但后续序号连续(如 1,2,2,3)。
    • ​示例​​:
      SELECT name, score,RANK() OVER (ORDER BY score DESC) AS rank,DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank
      FROM students;
  3. ​LEAD() 与 LAG()​

    • ​作用​​:访问当前行之后(LEAD)或之前(LAG)的行的数据。
    • ​示例​​:比较当前行与前一行的销售额
      SELECT order_date, amount,LAG(amount) OVER (ORDER BY order_date) AS prev_amount
      FROM sales;
  4. ​聚合函数 + OVER()​

    • ​作用​​:在窗口内进行聚合计算。
    • ​示例​​:计算累计销售额
      SELECT order_date, amount,SUM(amount) OVER (ORDER BY order_date) AS running_total
      FROM sales;

​十、JSON 函数(MySQL 5.7+)​

处理 JSON 格式数据,支持解析、查询和修改。

  1. ​JSON_EXTRACT(json_doc, path)​

    • ​作用​​:提取 JSON 文档中的值。
    • ​简写语法​​:->
    • ​示例​​:
      SELECT JSON_EXTRACT('{"name": "Alice", "age": 30}', '$.name') AS name;
      -- 等效简写
      SELECT info->'$.name' FROM users;
  2. ​JSON_SET(json_doc, path, value)​

    • ​作用​​:修改或添加 JSON 字段。
    • ​示例​​:更新 JSON 字段
      UPDATE users 
      SET info = JSON_SET(info, '$.age', 31) 
      WHERE id = 1;
  3. ​JSON_ARRAYAGG(col)​​ 与 ​​JSON_OBJECTAGG(key, value)​

    • ​作用​​:将多行数据聚合为 JSON 数组或对象。
    • ​示例​​:将用户角色聚合为 JSON 数组
      SELECT user_id, JSON_ARRAYAGG(role) AS roles
      FROM user_roles
      GROUP BY user_id;

​十一、空间函数(GIS)​

处理地理空间数据(需使用 GEOMETRY 数据类型)。

  1. ​ST_Distance(geom1, geom2)​

    • ​作用​​:计算两个几何对象的距离(单位取决于坐标系)。
    • ​示例​​:计算两点距离
      SELECT ST_Distance(ST_GeomFromText('POINT(10 20)'),ST_GeomFromText('POINT(30 40)')
      ) AS distance;
  2. ​ST_Contains(geom1, geom2)​

    • ​作用​​:判断 geom1 是否完全包含 geom2
    • ​示例​​:查询某区域内的所有坐标点
      SELECT * FROM locations 
      WHERE ST_Contains(area_polygon, point);

​十二、高级字符串处理​

  1. ​REGEXP 正则表达式​

    • ​作用​​:使用正则匹配或替换字符串。
    • ​示例​​:
      -- 匹配邮箱格式
      SELECT email FROM users 
      WHERE email REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$';-- 替换所有数字(需结合存储过程或程序代码)
      -- 注意:MySQL 8.0+ 支持 REGEXP_REPLACE
      SELECT REGEXP_REPLACE('abc123', '[0-9]', 'X'); → 'abcXXX'
  2. ​FULLTEXT 全文搜索​

    • ​作用​​:对文本字段进行高效关键词搜索(需创建全文索引)。
    • ​示例​​:
      -- 创建全文索引
      ALTER TABLE articles ADD FULLTEXT(title, content);-- 使用 MATCH AGAINST 查询
      SELECT * FROM articles 
      WHERE MATCH(title, content) AGAINST('MySQL tutorial' IN NATURAL LANGUAGE MODE);

​十三、系统信息函数​

  1. ​VERSION()​

    • ​作用​​:返回 MySQL 版本信息。
    • ​示例​​:SELECT VERSION(); → 8.0.30
  2. ​LAST_INSERT_ID()​

    • ​作用​​:获取最后插入的自增 ID。
    • ​示例​​:
      INSERT INTO users (name) VALUES ('Bob');
      SELECT LAST_INSERT_ID(); → 1001
  3. ​USER() 与 CURRENT_USER()​

    • ​区别​​:
      • USER():返回客户端连接时使用的用户名和主机。
      • CURRENT_USER():返回权限验证时的用户名和主机。

​十四、性能优化与陷阱​

  1. ​避免索引失效​

    • ​错误示例​​:
      SELECT * FROM orders WHERE YEAR(order_date) = 2023; -- 索引失效
    • ​优化方案​​:
      SELECT * FROM orders 
      WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31'; -- 利用索引
  2. ​谨慎使用 GROUP_CONCAT​

    • ​默认长度限制​​:group_concat_max_len 系统变量(默认 1024 字节),需调整:
      SET SESSION group_concat_max_len = 1000000;
  3. ​隐式类型转换​

    • ​示例​​:字符串与数字比较可能导致全表扫描:
      SELECT * FROM products WHERE price = '100'; -- price 是数值类型

​十五、实战案例​

  1. ​生成日期序列​

    -- 生成最近 7 天的日期
    SELECT CURDATE() - INTERVAL n DAY AS date
    FROM (SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6
    ) AS numbers;
  2. ​数据分桶统计​

    -- 将分数按区间分桶统计人数
    SELECT CASE WHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'ELSE 'C'END AS bucket,COUNT(*) AS count
    FROM students
    GROUP BY bucket;
http://www.dtcms.com/wzjs/337404.html

相关文章:

  • 开公司流程网站优化推广价格
  • 深圳做企业网站哪家好竞价推广怎么样
  • 寻找网站优化公司网络服务器价格
  • 独立站搭建平台百度网页高级搜索
  • 专业网站设计制作小红书推广运营
  • 网站播放视频速度优化google推广方式和手段有哪些
  • 中文无版权图片网站怎么做网站广告
  • 包装材料网站建设百度拉新推广平台
  • 什么是网站结构优化郑州seo外包费用
  • 福州网站建设案例搜狗推广
  • 网站设计与制作包括百度网盘客服中心电话
  • 网站建设基本流程是什么广告联盟app下载
  • 网站建设需要投资多少seo关键词优化价格
  • php动态网站开发期末考试推广普通话ppt课件
  • 苏州商城网站制作3天网站seo优化成为超级品牌
  • 东莞公司网站搭建多少钱推广普通话的内容简短
  • h5 网站开发北京关键词排名推广
  • 三亚做网站常用的网络营销工具有哪些
  • 太仓网站建设百度指数数据分析报告
  • 易语言网站做软件下载高端网站建设
  • 哪里做网站好百度竞价推广点击软件奔奔
  • 国内flash网站长沙排名优化公司
  • jsp做网站实例怎么做一个小程序
  • 网站的k线图怎么做自己搭建一个网站
  • 网站与平台的开发区别一级域名好还是二级域名好
  • 部门网站建设目的微信公众号营销
  • 怎么样建立学校网站百度站长平台app
  • p2f网站系统直播代运营公司
  • 兼职网站建设怎么在网上推广产品
  • 贵阳网站建设是什么意思广州从化发布