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

用别人网站名做长尾关键词企业门户网建设

用别人网站名做长尾关键词,企业门户网建设,网络优化怎么弄,wordpress列类型背景 想利用Grafana做数据展示#xff0c;将一维的长表优化成二维数据表格展示。 将一维表转换为二维表#xff0c;也就是将行转换为列#xff0c;可以使用MySQL的PIVOT语句来完成。 PIVOT是一种在关系型数据库中将行转换为列的技术。在MySQL中#xff0c;可以使用PIVOT语…背景 想利用Grafana做数据展示将一维的长表优化成二维数据表格展示。 将一维表转换为二维表也就是将行转换为列可以使用MySQL的PIVOT语句来完成。 PIVOT是一种在关系型数据库中将行转换为列的技术。在MySQL中可以使用PIVOT语句将普通的查询结果转换为一个带有动态列的表格。 PIVOT语句通过将行的值转换为列的值来重新排列数据。在MySQL中PIVOT语句通常使用聚合函数如SUM、MAX、MIN等来对数据进行汇总以便在转换后的表格中每个单元格只有一个值。 假设条件 假设我们有一个名为“orders”的表其中存储了订单的信息包括订单号、商品名称和商品数量 CREATE TABLE orders (order_id INT,product_name VARCHAR(50),quantity INT );现在我们想将这个一维表转换为二维表其中每列都代表一个商品名称每行都代表一个订单数量为该订单中该商品的数量。 实际两种处理情况 若是要转换成的二维表的表头是已知固定的则为静态转换 若是要转换成的二维表的表头是不确定的根据数据动态增加则为动态转换。 静态转换 SELECT order_id,MAX(CASE WHEN product_name Product A THEN quantity END) AS Product A,MAX(CASE WHEN product_name Product B THEN quantity END) AS Product B,MAX(CASE WHEN product_name Product C THEN quantity END) AS Product C FROM orders GROUP BY order_id;或者使用IF判断 SELECT order_id,Sum(if(product_name Product A,quantity,0)) AS Product A,Sum(if(product_name Product B,quantity,0)) AS Product B,Sum(if(product_name Product C,quantity,0)) AS Product C, FROM orders GROUP BY order_id;聚合函数SUM、MAX、MIN可以根据需要替换 动态转换 使用动态SQL生成PIVOT语句的具体实现方法可以根据您的具体情况而定常用以下两种方式 使用存储过程可以编写一个存储过程该存储过程接受列名称作为输入参数并使用动态SQL生成PIVOT语句。存储过程可以将查询结果作为参数返回并将结果集转换为带有动态列的表格。这种方法的好处是可以将查询逻辑封装在存储过程中使代码更加模块化和可重用。 使用预处理语句可以编写一个包含动态列名称的字符串并在MySQL中使用预处理语句来执行动态SQL。这种方法的好处是可以将查询逻辑与数据分离并且可以减少SQL注入的风险。 存储过程方式 创建一个存储过程该存储过程接受列名称作为输入参数并使用动态SQL生成PIVOT语句。以下是一个示例 DELIMITER $$ CREATE PROCEDURE pivot_sales(IN col_name VARCHAR(50)) BEGINSET cols (SELECT GROUP_CONCAT(DISTINCT CONCAT(MAX(CASE WHEN , col_name, , REPLACE(val, , ), THEN amount END) AS , REPLACE(val, , ))) FROM salesCROSS JOIN (SELECT DISTINCT val FROM sales WHERE col_name region) r;SET query CONCAT(SELECT date, , cols, FROM sales GROUP BY date);PREPARE stmt FROM query;EXECUTE stmt;DEALLOCATE PREPARE stmt; END$$ DELIMITER ;说明DEALLOCATE PREPARE语句用于释放由PREPARE语句占用的资源。在MySQL中PREPARE语句用于准备动态SQL并将其存储在MySQL服务器的缓存中。当不再需要动态SQL时可以使用DEALLOCATE PREPARE语句来释放缓存中的语句以释放资源并减少内存使用。 说明DELIMITER是MySQL中的一个命令它用于更改SQL语句的结束符号通常为分号。在默认情况下MySQL使用分号作为SQL语句的结束符号。但是当在存储过程或函数中使用多条SQL语句时分号可能会被解释为SQL语句的结束符号从而导致语法错误。 为了避免这个问题可以使用DELIMITER命令更改SQL语句的结束符号例如将结束符号更改为$$。这样使用分号作为SQL语句的内部结束符号不会与外部SQL语句的结束符号冲突。 在使用DELIMITER命令时应该首先使用DELIMITER命令设置新的结束符号然后编写SQL语句并使用新的结束符号结束SQL语句。最后应该使用DELIMITER命令将结束符号更改回原始值。 调用存储过程并将列名称作为参数传递。以下是一个示例 CALL pivot_sales(region);存储过程中的动态SQL可能会导致SQL注入的风险因此应该谨慎使用并确保输入的列名称是可信的。 预处理语句方式常用 SET cols (SELECT GROUP_CONCAT(DISTINCT CONCAT(MAX(CASE WHEN region , region, THEN sales END) AS , region)) FROM sales);SET query CONCAT(SELECT date, , cols, FROM sales GROUP BY date); PREPARE stmt FROM query; EXECUTE stmt; DEALLOCATE PREPARE stmt;在这个示例中我们使用了MySQL的GROUP_CONCAT函数来动态生成列名称然后使用CONCAT函数将列名称与PIVOT语句组合在一起。最后我们使用PREPARE语句来准备动态SQL并使用EXECUTE语句来执行动态SQL。
http://www.yutouwan.com/news/162151/

相关文章:

  • 哪家网站优化公司好wordpress发布时链接地址依然指向本地而不是域名解决方法
  • 美橙互联 网站备案wordpress怎么加404
  • wordpress 大学 主题seo排名软件哪个好
  • 做家教在哪个网站找百度资源共享链接分享组
  • 莱芜区都市网莱芜杂谈排名优化网站建设
  • 网站建设手机端技术培训学校机构
  • 阳江市住房和城乡规划建设局网站浙江省工程信息网官网
  • 济宁专业网站开发公司wordpress插件上传图片
  • 视频网站建设 知乎茶叶网页设计模板图片
  • 查询行业信息的网站网上装修公司网站策划书
  • 网站建设公司中心网站制图软件
  • 哪个网站下载软件最安全教做美食的网站
  • 建设旅游网站的功能定位电子商务公司的名字
  • 合租网站设计怎样上传wordpress模板
  • 新西兰网站开发专业哪里有网络推广
  • 网站建设实习目的门户网站的建设与维护
  • 高端网站哪个比较好北京市信息网
  • 公司网站制作有哪些注意事项百度软文推广怎样收费
  • 做网站都有跳转链接如何在百度做网站推广
  • 做网站好还是网页好如何成为网页设计师
  • wordpress增加产品模块魔方优化大师官网
  • 品牌建站创立一个公司需要多少钱
  • 集团企业网站建设方案中企动力近期做的网站
  • 哪个网站做logo设计师项目管理师pmp报考条件
  • 专做眼镜的网站工邦邦官网
  • 如何学做网站外包贵州seo和网络推广
  • 最新网站域名通辽做家教的网站
  • 如何做简洁网站手机网站定制方案
  • 毕业设计 建设网站新冠最新消息实时动态
  • 90设计网站官网首页网站建设的费用明细