详细描述是这样的: 数据库中有两个表,分别为A、B,A表中有a、b两个数据单元需要用,B中有c、d两个数据单元要用,将两个表连接(全连接),我想访问的结果是需要按照a,b,c,d四项的和来排序的,需要怎么实现呢?ps:abcd是需要select的数据,select之后需要加起来才是最终要的结果,两个表有相同的主键作为连接。
周末还得写代码,好悲剧,好人们来帮帮忙吧
周末还得写代码,好悲剧,好人们来帮帮忙吧
解决方案 »
- 如果根据分类获取随机的一条记录
- 小型网站开发有必要纠结三大范式和数据完整性么?
- postgresql qq群 :27831241
- mysql 远程启动
- 紧急求助!!!各位大虾近来帮帮我哦
- MySQL中的select top 5...的执行
- 什么是”pb的数据管道“?
- 哪里能下载postgresql 7.0以上版本的win版?100分!!
- mysql报错,我百度,google解决了两天还没解决,网上说的方法都试过了。
- pymysql连接mysql8时非root用户出现1045错误
- 请大家帮忙看看,使用mysql connector/c++ 往数据库中插入blob字段出1210错
- 求Mysql存储过程编程学习资料
假设A:
id a b
1 10 10
2 20 20
3 30 30
4 40 40
B:
id c d
1 100 100
2 200 200
4 400 400
将A和B左连接(A.id=B.id
id a b c d
1 10 10 100 100
2 20 20 200 200
3 30 30 0 0
4 40 40 400 400需要类似这样的功能:
select * from A LEFT JOIN B on(A.id=B.id) order by SUM_ALL(A.a+A.b+B.c+B.d)SUM_ALL就是现在需要的一个东东,大牛们帮我想个策略实现这个功能吧
前边的select, 你自己去组织。
你意思是说在sum里直接对这几项用加号求和吗?可以这样用啊。
desc;
from a left join b using(id)
order by (ifnull(a,0)+ifnull(b,0)+ifnull(c,0)+ifnull(d,0))[/code]
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
这个应该可以
a,b,c,d
from A FULL JOIN B on(A.id=B.id)
order by (IFNULL(a,0)+IFNULL(b,0)+IFNULL(c,0)+IFNULL(d,0));[/code]
a,b,c,d
from A FULL JOIN B on(A.id=B.id)
order by (IFNULL(a,0)+IFNULL(b,0)+IFNULL(c,0)+IFNULL(d,0));