一个数据格式问题,在线等,高手来帮帮忙,谢谢了
表1:
id groupname attribute op value
1 abc Download := 151-250
2 abc upload := 50-150
3 efg Download := 152-250
4 efg upload := 50-150
怎么将上表中的数据转换成下面的格式
id groupname Download upload
1 abc 151-250 50-150
2 efg 152-250 50-150
SQL:
SELECT a.groupname,a.value AS upload,b.value AS Download FROM radgroupreply a LEFT JOIN radgroupreply b ON a.groupname=b.groupname WHERE a.attribute='upload' AND b.attribute='download' AND a.groupname IN ('abc','efg')
这种方法可以实现,但是感觉效率有点低,有没有更好的办法?
用临时表是不是比上面的方法效率要好点,如果用临时表,怎么将数据插入到临时表中,如果直接create然后执行以上SQL,这样就没意义了,有没有什么好办法进行插入呢?
因为这张表数据比较大,考虑到效率问题,想找到一个更好的解决办法,请各位高手帮帮忙,给点思路,不胜感激!
在线等,急!!!!!
------解决方案--------------------
用存诸过程创建临时表
------解决方案--------------------
你这是求交叉表,有现成的存储过程可供参考。搜索“交叉表”就可找到
------解决方案--------------------
行列转换……
set @id=""; select (@id:=@id+1) AS id, groupname, group_concat(if(attribute='Download', `value`, '') separator '') AS Download, group_concat(if(attribute='upload', `value`, '') separator '') AS upload from 表名 group by groupname <div class="clear"></div>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号