group by 如何合并字符串优化记?
sqlserver 2005及以上版本
表(tb)
id value
1 aa
2 cc
3 bb
3 dd
4 aa
4 cc
4 dd
5 aa
优化前:
select id, value = (select value+',' from tb as rtb where rtb.id = a.tb.id for xml path(''))
from tb as a
group by a.id
优化后:(思路:将count(0)数等于1或者等于2的记录,通过min,max处理,减少每个id都要查询表)
select id, value =case count(0) when 1 then min(value)
when 2 then min(value)+','+max(value)
else (select value+',' from tb as rtb where rtb.id = a.tb.id for xml path('')) end
from tb as a
group by a.id
group by 如何合并字符串优化记?的更多相关文章
- 【SQL】SqlServer中Group By后,字符串合并
参考: 1.SQL查询语句 group by后, 字符串合并 2.sql for xml path用法 #需求: 合并列值 表结构,数据如下: id value ----- ------ aa bb ...
- 在论坛中出现的比较难的sql问题:26(动态行专列+合并字符串、补足行数)
原文:在论坛中出现的比较难的sql问题:26(动态行专列+合并字符串.补足行数) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所 ...
- 《Python CookBook2》 第一章 文本 - 去字符串两端的空格 && 合并字符串 && 将字符串逐字符或者逐词反转
去字符串两端的空格 任务: 获得一个开头和末尾都没有多余空格的字符串. 解决方案: 字符串对象的lstrip.rstrip和strip 方法正是为这种任务而设计的.这几个方法都不需要参数,它们会直接返 ...
- js 正则学习小记之匹配字符串优化篇
原文:js 正则学习小记之匹配字符串优化篇 昨天在<js 正则学习小记之匹配字符串>谈到 个字符,除了第一个 个,只有 个转义( 个字符),所以 次,只有 次成功.这 次匹配失败,需要回溯 ...
- python文本 拼接或合并字符串
python文本 拼接.合并字符串 场景: 拼接.合并字符串 在这个场景中,我们首先想到的当然是使用+或者+=将两个字符串连接起来 >>> a='a' >>> ...
- 一次 group by + order by 性能优化分析
一次 group by + order by 性能优化分析 最近通过一个日志表做排行的时候发现特别卡,最后问题得到了解决,梳理一些索引和MySQL执行过程的经验,但是最后还是有5个谜题没解开,希望大家 ...
- Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化
ylbtech-Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化 1.返回顶部 1. Java 实例 - 字符串优化 Java 实例 以下实例演示了通过 Str ...
- 【LeetCode】5685. 交替合并字符串 Merge Strings Alternately (Python)
作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,交替合并字符串,Merge Strings Alternately,刷题群 目 ...
- SQL查询语句 group by后, 字符串合并
合并列值 --******************************************************************************************* 表 ...
随机推荐
- c博客作业00--我的第一篇博客
1.你对网络专业或计算机专业了解是怎样? 一开始以为计算机网络专业就是搞跟计算机有关的东西,后来查了网络才知道,网络专业主要学计算机科学基础理论软硬件系统及应用知识 .网络工程的专业及应用知识. 2. ...
- 【Offer】[3-2] 【不修改数组找出重复的数字】
题目描述 思路分析 Java代码 代码链接 题目描述 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的. 请找出数组中任意一个重复的数字,但不能修改输入的数组. ...
- 误删除系列一:linux的bin目录误删除后恢复操作
感言:一失足成千古恨,一不小心就把/usr/bin下所有的命令都删除了,当你以为自己很熟练时,当你以为自己操作对时,可能就是失手的时候,还好这次只是一个测试环境....God 恢复过程:(以下是在vs ...
- ACM团队招新赛题解
标程代码全部为C语言编写.代码中的#if LOCAL_ 至#endif为本地一些调试内容,可以忽略. Xenny的A+B(1)[容易][签到] 签到题,做不出的话可能你有点不太适合ACM了. Xenn ...
- [原创] 为Visio添加公式编辑器工具栏按钮
前言 作为理工科的学生,在写论文时,难免会在示意图中添加一些公式来说明研究内容.常用的画图工具就是 Visio .而常用的公式编辑器就是 Mathtype .对于 Word 这种软件,Mathtype ...
- gitbook 入门教程之还在搞公众号互推涨粉?gitbook 集成导流工具,轻轻松松躺增粉丝!
相信大多数博客作者都或多或少有过这样想法: 现在各种平台这么多,想要实现全平台发布就要到处复制粘贴,等我有空一定做统一平台一次性全部解决! 不知道正在阅读文章的你,有没有这样的想法? 反正我确实这么想 ...
- 修改tomcat 使用的JVM的内存
一,前言 在文章让tomcat使用指定JDK中,我让tomcat成功使用了我指定的JDK1.8,而不是环境变量中配置的JDK10.本篇文章我们就来探讨一下怎么设置tomcat使用的JVM的内存. 为什 ...
- BeanFactory not initialized or already closed
产生这个错误有两个可能, 一.你没有配置初始化文件,在web.xml中配置如下 <context-param> <param-name>contextConfigLocatio ...
- Spring boot缓存初体验
spring boot缓存初体验 1.项目搭建 使用MySQL作为数据库,spring boot集成mybatis来操作数据库,所以在使用springboot的cache组件时,需要先搭建一个简单的s ...
- UITableView tableHeaderView 自动布局
let size = headerView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize) headerView.frame.s ...