一个MYSQL搜索语句

问题描述

有一个表lr的的结构如下:id sender_id reciver_id score1 1 2 302 2 1 213 1 3 134 3 1 23现在我想找出sender_id等于1的数据并按分数排序,不过这个分数是加上相对的数据,即是score = (sender_id = 1 and receiver_id = 3) 的SCORE + (sender_id = 3 and receiver_id = 1)的SCORE 问题补充:我想得到的结果是sender_id receiver_id score1 2 511 3 46

解决方案

上面是考虑了多一对的,这个是成对出现的select * from(select a.id,a.sender_id,a.reciver_id,a.score+b.score as score from lr a,lr bwhere a.sender_id= b.reciver_id and a.reciver_id=b.sender_id ) t where t.sender_id<t.reciver_id
解决方案二:
我终于看到你的最后一句话。。。想了半天那多出来的一对怎么办。。。。with lr as(select 1 as id, 1 as sender_id,2 as reciver_id, 30 as score from dualunionselect 2 as id, 2 as sender_id,1 as reciver_id, 21 as score from dualunionselect 3 as id, 1 as sender_id,3 as reciver_id, 13 as score from dualunionselect 4 as id, 3 as sender_id,1 as reciver_id, 23 as score from dualunionselect 5 as id, 4 as sender_id,1 as reciver_id, 10 as score from dual) select * from(select a.id,a.sender_id,a.reciver_id,nvl(a.score,0)+nvl(b.score,0) as score from lr a,lr bwhere a.sender_id= b.reciver_id(+) and a.reciver_id=b.sender_id(+) ) t where t.sender_id<t.reciver_id
解决方案三:
SELECT n.sender_id, n.reciver_id, SUM(n.score) FROM (SELECT tmp.*, IF(@senderid = tmp.reciver_id, @groupid := @groupid, @groupid := tmp.id) AS group_num, @groupid := tmp.id, @senderid := tmp.sender_id FROM lr tmp, (SELECT @groupid := 0, @sum_over := 0, @senderid := 0) m) n GROUP BY n.group_num
解决方案四:
数据都是成对的出现吗,还是会出现1对多的情况,比如下面的情况:id sender_id reciver_id score 1 1 2 30 2 2 1 21 3 1 3 13 4 3 1 235 4 1 10结果就是:sender_id receiver_id score 1 2 51 1 3 56
解决方案五:
没看明白,把你想要的结果列出来

时间: 2024-10-21 19:20:25

一个MYSQL搜索语句的相关文章

jsp mysql excel-在jsp中使用jxl.jar包来将mysql搜索语句sql结果集导出到excel文件

问题描述 在jsp中使用jxl.jar包来将mysql搜索语句sql结果集导出到excel文件 整体构思是:连接数据库由DBManager.java,创建excel样式由Excel.java:最后在excel.jsp实现!但现在数据库数据并不能显示,求指教,我是java小白! Excel.java代码 package com; import java.io.*; import java.sql.*; import javax.sql.rowset.CachedRowSet; import com

数据库-问一个mysql查询语句的问题

问题描述 问一个mysql查询语句的问题 例如 我的模糊查询关键字是"手机" 然后我的数据库中的表的字段有描述.价格.地区等 我想"手机"这个关键字 在每一个字段都去判断 ,只要任何一个字段有"手机"这个关键字 都把那一行的所有信息 提取出来 请问这个sql语句怎么写...谢谢了大神们.. 解决方案 select 描述,价格,地区 from tableName where 描述 like '%手机%' or 地区like '%手机%' . 价格肯

求一个mysql查询语句

问题描述 那个图是我的2张表sid是house表的外键aid是street表的外键我想在house表里查询到street表里面的aid吗?这个mysql语句怎么写 问题补充:Wind_ZhongGang 写道 解决方案 引用我想知道假如我知道这个hid可以把他关联的aid给找到吗?要想显示hid对应的全部信息可以吗?第一个问题:当然可以. select s.aid from house h left join street s on h.sid=s.sid where h.hid=? ?代表你要

大神进来看,一个MySQL insert语句的奇葩问题,在线等

问题描述 代码如下:CREATETABLE`student`(`id`char(10)NOTNULL,`sname`char(10)defaultNULL,`password`char(10)defaultNULL,`sclass`char(20)defaultNULL,`smajor`char(20)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;INSERTINTO`student`VALUES('001','a',

mysql-求一个Mysql语句 查询出当前周的数据按照天分组

问题描述 求一个Mysql语句 查询出当前周的数据按照天分组 SELECT DATE_FORMAT(uploadTime_beg%Y-%m-%d"") as time SUM(field01) as sumStatus1 SUM(field02) as sumStatus2 SUM(field03) as sumStatus3 SUM(field04) as sumStatus4 SUM(field05) as sumStatus5 FROM health_realdata WHERE

1111111-求教一个mysql语句11111

问题描述 求教一个mysql语句11111 SELECT o.member_id,SUM(o.payable),o.gmt_modify FROM orders o,order_detail od WHERE TO_DAYS(o.gmt_modify) >=TO_DAYS(("2013-02-27 10:22:53.000000")) AND TO_DAYS(ADDDATE(("2013-05-27 10:22:53.000000"),INTERVAL -16

加速MySQL SQL语句优化的一些命令方法

引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又会耗费DBA很多精力.于是萌发了自己编写小工具,提高优化效率的想法. 那选择何种语言来开发工具呢? 对于一名DBA来说,掌握一门语言配合自己的工作是非常必要的.相对于shell的简单.perl的飘逸,Python是一种严谨的高级语言.其具备上手快.语法简单.扩展丰富.跨平台等多种优点.很多人把它称为

如何用一款小工具大大加速MySQL SQL语句优化(附源码)

作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网.TOM在线等公司,曾任多家公司首席DBA.数据库架构师等职,多年一线数据库架构.设计.开发经验.著有<SQL优化最佳实践>一书.   引言   优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又会耗费DBA很多精力.于是萌发了自己编写小工具,提高优化效率的想法.   那

mysql 搜索之简单应用_php技巧

如何在MySQL中获得更好的全文搜索结果   作者: Techrepublic.com.com  2006-04-03 11:14:53  很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录.在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候. MySQL针对这一问题提供了一种基于内建的全文查找方式的解决方案.在此,开发者只需要简单地标