mysql 根据条件查询数据

在用户表中,有一个生日字段 birth,现在的需求是根据传入的时间段参数,查询此时间段内过生日的用户列表,需要考虑跨年的情况

7个回答

不需要考虑什么跨不跨年,直接传进时间,一样的时间格式进行查询

根据你的需求,创建数据如下:![图片说明](https://img-ask.csdn.net/upload/201705/23/1495527838_271628.jpg)
有两个分支:
先判断传入的时间段参数前后大小关系,如果后者比前者时间大,则涉及跨年的问题,应该执行
select * from user where substring(birthday,6)>='09-01'   or   substring(birthday,6)<='06-01';
否则,执行
select * from user where substring(birthday,6)>='02-01'   and   substring(birthday,6)<='06-01';
zhumengstyle
zhumengstyle 笔误,如果后者比前者小,则涉及跨年问题
大约 3 年之前 回复

查这些时间段的数据不需要考虑这些吧,我一直使用这个,没有出错过:http://blog.csdn.net/xuanzhangran/article/details/54708246

select * from 用户 where brith >= starttime and birth <= endtime

birth和时间段参数的格式一致就好了

如果你的业务,确实需要对跨年,请参考这个链接:http://blog.csdn.net/xuanzhangran/article/details/55666878

生日的判断标准是 几月几号 , 如果传入的时间段是同一年 比如说 2017-05-23 到 2017-06-23 直接取出月日比较肯定没问题啊,但是如果跨年了,就不好控制了,比如 2017-05-23 到 2018-02-01 这个时间段的话,就应该去查 05-23到12-31过生日的 和 01-01到 02-01过生日的

涉及到时间查询,最准确最稳妥的做法是使用DATEDIFF函数,如
StringBuilder sb = new StringBuilder();
sb.Append(" SELECT * FROM USERINFO WHERE 1=1");
sb.Append(" AND DATEDIFF(DAY,'{0}',birth)>=0", startTime);
sb.Append(" AND DATEDIFF(DAY,'{0}',birth)< 0", endTime);

其中,DATEDIFF函数最前边一个参数
DATEDIFF(YEAR,'',''),精确到年;
DATEDIFF(MONTH,'',''),精确到月;
DATEDIFF(DAY,'',''),精确到日;
DATEDIFF(HUOR,'',''),精确到小时;
DATEDIFF(MINUTE,'',''),精确到分;

等等,可以根据具体情况使用,你这个情况应该精确到日就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

mysql 根据条件更新本表数据

CREATE TABLE `comment_record` ( `ID` int(64) NOT NULL AUTO_INCREMENT COMMENT 'ID', `COMMENTED_ID` varchar(64) DEFAULT NULL COMMENT '被评论人ID', `COMMENTED_ROLE` varchar(20) DEFAULT NULL COMMENT '被评论人角色', `INDICATOR_NAME` varchar(128) DEFAULT NULL COMMENT '指标名称', `POSITIVE_RATE` varchar(20) DEFAULT NULL COMMENT '好评率', `YEAR_QUARTER` varchar(20) DEFAULT NULL COMMENT '年-季', `REMARKS` varchar(255) DEFAULT NULL COMMENT '备注信息', `CREATE_BY` varchar(64) DEFAULT NULL COMMENT '创建者', `CREATE_DATE` varchar(64) DEFAULT NULL COMMENT '创建时间', `UPDATE_BY` varchar(64) DEFAULT NULL COMMENT '更新者', `UPDATE_DATE` varchar(64) DEFAULT NULL COMMENT '更新时间', `DEL_FLAG` char(1) NOT NULL COMMENT '删除标记', `COMMENT_GRADEA_NUM` int(50) DEFAULT NULL COMMENT '优的数量', `COMMENT_GRADEB_NUM` int(50) DEFAULT NULL COMMENT '良的数量', `COMMENT_GRADEC_NUM` int(50) DEFAULT NULL COMMENT '差的数量', `INDICATOR_TYPE` varchar(128) DEFAULT NULL COMMENT '指标类型', `DIFFPOSITIVE_RATE` varchar(128) DEFAULT NULL COMMENT '季度差', PRIMARY KEY (`ID`), KEY `IDX_HONESTY_COMMENT_RECORD_01` (`COMMENTED_ID`) ) ENGINE=InnoDB AUTO_INCREMENT=725 DEFAULT CHARSET=utf8 COMMENT='用户评论统计表' 把每条数据的这个季度的好评率减去上个季度的好评率得到的值更新到DIFFPOSITIVE_RATE中 测试数据 insert into `t_honesty_comment_record`(`ID`,`COMMENTED_ID`,`COMMENTED_ROLE`,`INDICATOR_NAME`,`POSITIVE_RATE`,`YEAR_QUARTER`,`REMARKS`,`CREATE_BY`,`CREATE_DATE`,`UPDATE_BY`,`UPDATE_DATE`,`DEL_FLAG`,`COMMENT_GRADEA_NUM`,`COMMENT_GRADEB_NUM`,`COMMENT_GRADEC_NUM`,`INDICATOR_TYPE`,`DIFFPOSITIVE_RATE`) values (710,'1','10','货源真实性','1.000000000','2017_2',NULL,NULL,NULL,NULL,NULL,'0',2,0,0,'2010','0'),(711,'1','10','装卸货及时性','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,2,0,'2020','0'),(712,'1','20','运输服务规范','0.666666666','2017_2',NULL,NULL,NULL,NULL,NULL,'0',2,1,0,'1010','0'),(713,'1','20','物流发货速度','0.333333333','2017_2',NULL,NULL,NULL,NULL,NULL,'0',1,1,1,'1020','0'),(714,'1000006880','20','运输服务规范','1.000000000','2017_2',NULL,NULL,NULL,NULL,NULL,'0',2,0,0,'1010','0'),(715,'1000006880','20','物流发货速度','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,0,2,'1020','0'),(716,'1000006889','10','货源真实性','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,0,1,'2010','0'),(717,'1000006889','10','装卸货及时性','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,1,0,'2020','0'),(718,'1000006912','20','运输服务规范','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,0,1,'1010','0'),(719,'1000006912','20','物流发货速度','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,1,0,'1020','0'),(720,'9100000095','10','货源真实性','1.000000000','2017_2',NULL,NULL,NULL,NULL,NULL,'0',2,0,0,'2010','0'),(721,'9100000095','10','装卸货及时性','0.500000000','2017_2',NULL,NULL,NULL,NULL,NULL,'0',1,1,0,'2020','0'),(722,'9100000107','10','货源真实性','1.000000000','2017_2',NULL,NULL,NULL,NULL,NULL,'0',2,0,0,'2010','0'),(723,'9100000107','10','装卸货及时性','0','2017_2',NULL,NULL,NULL,NULL,NULL,'0',0,2,0,'2020','0');

MySql分组条件查询,非常急,折腾两天了,非常感谢。

如图,MySql5.5版本,实际表中ID并不是自增长的,而是UUID生成的。需求:根据时间分组查询,分组规则可以是1分钟,也可以是5分钟或10分钟为一组,时间不能写死,要每一组第一个时间点的开盘价;最后一个时间点的收盘价;这组内的最低价;这1组内的最高价。比如我要查5分钟一组的数据,把时间改成5就行了,具体需要的数据是:这5分钟(如:5分00秒——10分59秒这个时间段,时间间隔是随机的,并不一定是第0秒,也不一定是第59秒,反正是在这5分钟内的)内第一个时间点的开盘价;最后一个时间点的收盘价;这1分钟内的最低价;这1分钟内的最高价;最后一个时间点的时间(时间格式:年-月-日 时:分)。过后悬赏,没暂时充值,呵呵。 ![图片说明](https://img-ask.csdn.net/upload/201812/26/1545836225_430464.png)

MySQL如何实现随机查询时有对查询条件的判断?

## 首先,实现随机的方法我知道.问题是如何在查询随机数据时能够对条件进行判断 ### 举个例子 我想让每次返回的数据都是随机的且要满足下面的一个条件.不要写死一个一个值去判断,不去count()具体的值 **条件 : 随机查询的数据满足每个专业的最少有一个人** ![图片说明](https://img-ask.csdn.net/upload/201812/17/1545040081_954558.png) 我的想法是 - 先查询出所有的数据(随机) - 再通过一个存贮函数来判断条件是否达到 - 达到后,结束 通过下面的代码,能够查询出每个专业的人数,可以用来做判断,是否满足条件,但是这是查询全部的. 当我想要查询只要10个人时,下面的代码查的是所有人. 但是,我要是先随机查询出10个人,那么这10个人不一定会满足条件.如果一直随机查询直到满足条件,那就太浪费资源了 ```sql SELECT COUNT(t.zhuanye) c FROM t_expert AS t GROUP BY t.zhuanye HAVING c>=2 ``` 现在,我疑惑的地方是这个存贮函数如何写,怎么样才能在查到相应的数据后,停止查询. 我对MySQL只是简单了解.这个问题,困惑我很久了.

mysql根据unix时间戳查询数据怎么使用?

假设我在数据库内插入的订单创建时间字段是用的10位数的unix时间戳,我想查询今天的所有订单,例如: ``` select count() where后面不会了 ``` 不知道如何操作了! 后面的条件该怎么写? 解决方案: ``` $todayzero = strtotime(date('Y-m-d',time())); //return $todayzero; //今日访问量 $today = pdo_fetchcolumn('select count(*) from '.tablename('wc_nongplus_count'). "where uniacid=:uniacid and (createtime>=$todayzero and createtime<=:createtime)",array(':uniacid'=>$uniacid,':createtime'=>time())); //总访问量 $counts = pdo_fetchcolumn('select count(*) from '.tablename('wc_nongplus_count'). "where uniacid=:uniacid",array(':uniacid'=>$uniacid)); ```

mysql查询时查询所有会获得所有数据,条件查询时缺只有1000条数据

查询所有 SELECT DATE_FORMAT(START_time,'%Y') time,COUNT(id) FROM cti_record_files GROUP BY time ![图片说明](https://img-ask.csdn.net/upload/202003/25/1585119796_947391.png) 条件查询 SELECT DATE_FORMAT(START_time,'%Y') time,COUNT(id) FROM cti_record_files WHERE DATE_FORMAT(emotional_time, '%Y') >= '2018' AND DATE_FORMAT(emotional_time, '%Y') <= '2020' GROUP BY time ![图片说明](https://img-ask.csdn.net/upload/202003/25/1585119916_398971.png) 这个条件只是对时间做出限制,但所有录音均为超出这个时间段

关于mysql触发器根据条件查询更新的问题!

a表 ``` id (key) deviceid devicename brand ``` b表 ``` id (key) deviceid(key)联合主键 devicename (默认值0) brand (默认值0) ``` 请问如何才能做到到b表中deviceid插入数据时(后),查询a.deviceid 如果a.deviceid=b.deviceid则更新b.devicename and b.brand 我的写法是 ``` BEGIN UPDATE b SET devicename = new.devicename, brand = new.brand WHERE deviceid = (SELECT deviceid FROM a WHERE brand = new.brand and devicename = new.devicename and brand = new.brand ); end ``` 但是这样写的话给b表插入数据后报错,所以请问各位大牛改如何修改才能达到目的?

关于mysql的动态列查询数据问题

问题有点多...我一个一个问好了啊 1、A、B两张表,A表为字段列,B表为数据表,根据A中的数据作为列,查询出B表的数据, 并且,在列的A表基础上再加一列id。 2、以上查询的列为id、A_col1、A_col2、A_col3......。在此基础上,把这些列分为两列, id为一列,col.....为一列,结果也cancat成两列。 求大神帮忙~感谢~!

mysql不同查询条件用一条查询语句完成

现在有两条查询语句 select date_format(time,'%Y-%m-%d') as title,count(*) as imm_num from meter INNER JOIN `user` USING(time) WHERE meter.userId=`user`.id group by title order by title desc; 和 select date_format(time,'%Y-%m-%d') as title,count(*) as num WHERE 1=1 group by title order by title desc; 怎么合并成一条

mysql查询50-100条数据如何查询

mysql查询50-100条数据如何查询mysql查询50-100条数据如何查询mysql查询50-100条数据如何查询

Mysql 语句 有多个条件 查询所有 返回符合条件最多的一条

比如 TAG1 TAG2 TAG3 TAG4 TAG5 查询 符合条件的语句 如果没有符合5个的 返回符合4个条件的 如果 没有符合4个的 就返回3个符合的! 请问下 这个该怎么弄 必须在服务端 做逻辑判断吗

mysql 根据不同登录角色查询出不同的数据集合

每个角色的code值都不相同,根据登录角色的code值查出满足条件的集合。 列如51.135.24.03(code值) 角色一(code值为51)登录,取包含51第二个“.”之前的所有数据,查出来的code集合为51.XXX 角色二(code值为51.135)登录,取包含51.135第三个“.”之前的所有数据,查出来的code集合为51.135.XX 现在知道每个角色登录的code值,怎么用sql语句查出符合要求的集合,求大神解答下

c# 操作Mysql查询数据问题

最近在开发程序过程当中,操作的数据库为MySQL,这时就会出现操作数据库时,出现查询数据库数据时,有时查询出来,有时查询不出来,同样的条件下,不是一直有数据,不知道是哪里出了问题,程序在执行时没有任何报错,执行都是正常的,网上找相关资料找不到,有没有人解决该问题?附上连接MYSQL时的字符串, string connectionString = string.Empty; connectionString = @"Data Source={0};Port={1};Database ={2};User Id={3};Password={4};pooling=false;CharSet=utf8;Allow User Variables=True;"; connectionString = string.Format(connectionString, Address, Port, Database, User, PassWord); return connectionString;

mysql海量数据作复杂查询时的速度问题

公司做了一个BI系统,以mysql5.6版为查询库,innodb数据引擎,数据库装在一台redhat5的云服务器上,云服务器目前配置8核/16G内存/500G硬盘。目前我们把10几个业务表的数据都整合在一张查询表上,现在一般的页面查询只能达到6-7秒。 客户对这一结果不是很满意,要求达到3-4秒。然后我们在硬件上已经提出要求达到16核/32G内存,同时在SQL语法上也作了优化,也建了索引,但索引已经没什么用了,因为我们的SQL语句很长,条件也比较复杂,无法命中索引,实在不知道 如何提升速度了,其实现在的单表数据量才120几万条。 在这里想问一下达人们有没有好的建议和办法?网上查了不少内容:用高并发数据库、做数据库集群、用MYCAT或greenplum等分布式平台、换ORACLE数据库。 如果有达人做过这类项目,帮我们解决一下。或者留下您的联系方式,一旦解决我们会重谢!

大数据量Mysql查询后经过循环使用python分片

1 问题描述: (1)使用mysql查询基础数据,这里只有三四个基础的查询条件,联了一个表,同时有limit分页了; (2)之后经过一系列逻辑处理,在这些处理中又包含了很多sql查询,而且是在第(1)条查询出来的结果基础上查询,以前是先分页的,第(1)一次只查询了十条,第二步最多循环十次,但是现在的新逻辑是,查询出来后,经过(2)的处理,不满足筛选条件的数据remove掉,然后再返回最后剩下的数据 (3)由于每一页都会remove()掉部分数据,我曾经尝试定义全局变量,记录删除数据,但是只能得到我当前查询这一页删除了多少,无法获取总共删除了多少,而且每一页的数量都不一定是10条,一般来说是10条以下(因为会删除部分不符合筛选条件的数据),但是要求是要获取满足筛选条件的总数据量,而且需要正常分页 (4)于是我不用limit分页,直接取全量数据,然后再记录删除的数据量,使用切片手动分页,就能获取总数据了,每页也都是10条,但是循环次数过多,数据量稍微大一点儿,就需要49秒左右 2 部分相关代码: (1)基础查询: ``` SELECT op.order_id, opc.order_code, op.created_at AS create_time, opc.departure_date, opc.end_date, opc.company, opc.channel_id, opc.retail, opc.final_cost, opc.has_pay, opc.commission_price, opc.commission_type, opc.commission_value \ FROM order_product_customize AS opc \ LEFT JOIN order_product AS op ON opc.order_product_id = op.order_product_id \ WHERE { 0 } ORDER BY opc.created_at DESC { 1 } ``` (2) 手动分页: ``` nextPage = limit_start+page_size result['data_list'] = result['data_list'][limit_start:nextPage] result['total_num'] = result['total_num'] - self.delNum ``` 3 报错信息: 没有报错,只是执行时间极其长 一台比较好的机器,执行时间为27.72秒,本地执行时间接近40秒,无法上传图片 4 已经尝试过的办法 (1)记录删除次数再减去(因为每次都只查一页,只能获取当前页删除的条数) (2)取符合筛选条件的全量数据(数据量太大,又有循环,导致速度极其慢) (3)每次查20条左右数据,然后获取没删除的前10条,记录最后一条的id(动态分页,无法获取每一页第一条数据,无法保证20条经过筛选后还能剩下10条)

如何查询mysql二进制数据

<div class="post-text" itemprop="text"> <p>I have tried to query mysql database table data but am getting the byte data after trying many instances to convert the byte data to the hexadecimal values. Any help about how can i get the hexadecimal values from the database. </p> <p>I created the table below as</p> <pre><code>CREATE TABLE `subscriber_profile` ( .... `msin` binary(5) NOT NULL, `msisdn` bigint(16) NOT NULL, `k` binary(16) DEFAULT NULL, `opc` binary(16) DEFAULT NULL, `sqn` binary(6) DEFAULT NULL, ... PRIMARY KEY (`mcc`,`mnc`,`msin`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; </code></pre> <p>And the data in the database as</p> <p>INSERT INTO <code>subscriber_profile</code> VALUES (...,358507777001/<em>msisdn</em>/,0x000102030405060708090A0B0C0D0E0F/<em>k</em>/,0xBC2BCE2A23BE2FAE32E4F1B4546004F7/<em>opc</em>/,...);</p> <p>Am querying the table using msisdn as parameter. Also is using byte in struct field right?</p> <pre><code>type SubscriberProfile struct { ... Msisdn int `json:"msisdn"` K []byte `json:"k"` Opc []byte `json:"opc"` } func GetPara(msisdn int) []SubscriberProfile { db := dbConn() selDB, err := db.Query("SELECT msisdn, k, opc FROM subscriber_profile WHERE msisdn=?;", msisdn) if err != nil { panic(err.Error()) } av := SubscriberProfile{} res := []SubscriberProfile{} for selDB.Next() { var msisdn int var k, opc []byte err = selDB.Scan(&amp;msisdn, &amp;k, &amp;opc) if err != nil { panic(err.Error()) } av.Msisdn = msisdn av.K = k av.Opc = opc res = append(res, av) } return res } I have tried to use hex.EncodeToString(k) but could not get the right result. var data []SubscriberProfile data = GetPara(358507777001) fmt.Println(data) output: [{0 0 0 358507777001 [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15] [188 43 206 42 35 190 47 174 50 228 241 180 84 96 4 247]}] </code></pre> <p>Am expecting an output [{0 0 0 358507777001 000102030405060708090A0B0C0D0E0F BC2BCE2A23BE2FAE32E4F1B4546004F7 0 ...}]</p> <p>Any help?</p> </div>

mysql中查询 , 满足条件的分类 , 占总分类的百分比前十的数据

问题补充 大概就是这种数据 , 麻烦大家看一下 谢谢大佬们 type proportion 幻影神斧 80 丈八蛇矛 75 方天画戟 71 海神剑 67 月下美人 67 亮银枪 50 ... ... ``` /* Navicat MySQL Data Transfer Source Server : 127.0.0.1 Source Server Version : 50717 Source Host : localhost:3306 Source Database : alarm_tabel Target Server Type : MYSQL Target Server Version : 50717 File Encoding : 65001 Date: 2019-06-17 16:12:19 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for game_table -- ---------------------------- DROP TABLE IF EXISTS `game_table`; CREATE TABLE `game_table` ( `type` varchar(255) DEFAULT NULL, `value` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of game_table -- ---------------------------- INSERT INTO `game_table` VALUES ('丈八蛇矛', '1'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '1'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '1'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '1'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '1'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '1'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '0'); INSERT INTO `game_table` VALUES ('丈八蛇矛', '0'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '0'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '0'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '0'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '0'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '1'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '1'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '1'); INSERT INTO `game_table` VALUES ('青龙偃月刀', '1'); INSERT INTO `game_table` VALUES ('双股剑', '1'); INSERT INTO `game_table` VALUES ('双股剑', '1'); INSERT INTO `game_table` VALUES ('双股剑', '0'); INSERT INTO `game_table` VALUES ('双股剑', '0'); INSERT INTO `game_table` VALUES ('双股剑', '0'); INSERT INTO `game_table` VALUES ('双股剑', '0'); INSERT INTO `game_table` VALUES ('方天画戟', '0'); INSERT INTO `game_table` VALUES ('方天画戟', '0'); INSERT INTO `game_table` VALUES ('方天画戟', '0'); INSERT INTO `game_table` VALUES ('方天画戟', '1'); INSERT INTO `game_table` VALUES ('方天画戟', '1'); INSERT INTO `game_table` VALUES ('方天画戟', '1'); INSERT INTO `game_table` VALUES ('方天画戟', '1'); INSERT INTO `game_table` VALUES ('青钢剑', '1'); INSERT INTO `game_table` VALUES ('青钢剑', '1'); INSERT INTO `game_table` VALUES ('青钢剑', '0'); INSERT INTO `game_table` VALUES ('青钢剑', '0'); INSERT INTO `game_table` VALUES ('青钢剑', '0'); INSERT INTO `game_table` VALUES ('青钢剑', '0'); INSERT INTO `game_table` VALUES ('青钢剑', '0'); INSERT INTO `game_table` VALUES ('幻影神斧', '0'); INSERT INTO `game_table` VALUES ('幻影神斧', '1'); INSERT INTO `game_table` VALUES ('幻影神斧', '1'); INSERT INTO `game_table` VALUES ('幻影神斧', '1'); INSERT INTO `game_table` VALUES ('幻影神斧', '1'); INSERT INTO `game_table` VALUES ('月下美人', '0'); INSERT INTO `game_table` VALUES ('月下美人', '0'); INSERT INTO `game_table` VALUES ('月下美人', '1'); INSERT INTO `game_table` VALUES ('月下美人', '1'); INSERT INTO `game_table` VALUES ('月下美人', '1'); INSERT INTO `game_table` VALUES ('月下美人', '1'); INSERT INTO `game_table` VALUES ('海神剑', '1'); INSERT INTO `game_table` VALUES ('海神剑', '1'); INSERT INTO `game_table` VALUES ('海神剑', '1'); INSERT INTO `game_table` VALUES ('海神剑', '0'); INSERT INTO `game_table` VALUES ('海神剑', '0'); INSERT INTO `game_table` VALUES ('海神剑', '0'); INSERT INTO `game_table` VALUES ('白银枪', '0'); INSERT INTO `game_table` VALUES ('白银枪', '0'); INSERT INTO `game_table` VALUES ('白银枪', '0'); INSERT INTO `game_table` VALUES ('白银枪', '0'); INSERT INTO `game_table` VALUES ('白银枪', '1'); INSERT INTO `game_table` VALUES ('白银枪', '1'); INSERT INTO `game_table` VALUES ('白银枪', '1'); INSERT INTO `game_table` VALUES ('亮银枪', '0'); INSERT INTO `game_table` VALUES ('亮银枪', '0'); INSERT INTO `game_table` VALUES ('亮银枪', '0'); INSERT INTO `game_table` VALUES ('亮银枪', '0'); INSERT INTO `game_table` VALUES ('亮银枪', '1'); INSERT INTO `game_table` VALUES ('亮银枪', '1'); INSERT INTO `game_table` VALUES ('亮银枪', '1'); INSERT INTO `game_table` VALUES ('亮银枪', '1'); INSERT INTO `game_table` VALUES ('毒棘头', '1'); INSERT INTO `game_table` VALUES ('毒棘头', '1'); INSERT INTO `game_table` VALUES ('毒棘头', '1'); INSERT INTO `game_table` VALUES ('毒棘头', '1'); INSERT INTO `game_table` VALUES ('毒棘头', '0'); INSERT INTO `game_table` VALUES ('毒棘头', '0'); INSERT INTO `game_table` VALUES ('毒棘头', '0'); INSERT INTO `game_table` VALUES ('毒棘头', '0'); ``` ```1 . 这个是简化的数据库 , 需要查出装备名称 , 以及value为1的装备占该装备和的百分比 , 并只需要排名靠前的十条 , 弄了一天了没搞出来 , 真的好急 谢谢大佬帮忙

MYSQL查询优化的问题 多条件 in查询

``` SELECT `userid` FROM `esys_sysusersets` WHERE ( `groupid` = '102' AND `userrole` < '3' ) OR ( `groupid` = '103' AND `userrole` < '3' ) ) ``` 返回的是一个数组 如果直接把语句放到另一个查询里 in的地方用语句 ``` SELECT `id`,`createat`,`createby`,`clientid`,`contactid`,`contactway`,`contactlog` FROM esys_dbcontactlogs esys WHERE ( ( `createby` = '100' or `createby` in (SELECT `userid` FROM `esys_sysusersets` WHERE ( `groupid` = '102' AND `userrole` < '3' ) OR ( `groupid` = '103' AND `userrole` < '3' ) ) ) ) AND ( `dstatus` = 1 ) ORDER BY `id` desc LIMIT 0,10 ``` [ RunTime:0.0112s ] ``` SELECT COUNT(id) AS tp_count FROM esys_dbcontactlogs esys WHERE ( ( `createby` = '100' or `createby` in (SELECT `userid` FROM `esys_sysusersets` WHERE ( `groupid` = '102' AND `userrole` < '3' ) OR ( `groupid` = '103' AND `userrole` < '3' ) ) ) ) AND ( `dstatus` = 1 ) LIMIT 1 ``` [ RunTime:24.0147s ] in的地方先把语句执行了 返回列表 再进行查询 ``` SELECT `id`,`createat`,`createby`,`clientid`,`contactid`,`contactway`,`contactlog` FROM esys_dbcontactlogs esys WHERE ( ( `createby` = '100' or `createby` in (659,708,720,725,728,744,757,795,803,833,835,837,847,849,851,856,858,883,884,885,886,887,888,927,932,937,945,947,953,958,963,964,965,966,967,968,1006,1013,1014,1016) ) ) AND ( `dstatus` = 1 ) ORDER BY `id` desc LIMIT 0,10 ``` [ RunTime:0.0007s ] ``` SELECT COUNT(id) AS tp_count FROM esys_dbcontactlogs esys WHERE ( ( `createby` = '100' or `createby` in (659,708,720,725,728,744,757,795,803,833,835,837,847,849,851,856,858,883,884,885,886,887,888,927,932,937,945,947,953,958,963,964,965,966,967,968,1006,1013,1014,1016) ) ) AND ( `dstatus` = 1 ) LIMIT 1 ``` [ RunTime:0.5297s ] 两者效率为什么差这么多呢 esys_dbcontactlogs的数据量在60W左右

mysql 查询区间数据 并且排序

数据库内有 LO 113.001 -113.999 and LA 22.001- 22.999 比如 113.001-113.002 and 22.001-22.004 方块内 有数据 而有 n多这种方块 查询 这些方块内有多少数据 并排序

mysql单表分页查询数据量大的情况下怎么优化

mysql单表分页查询数据量大的情况下怎么优化,另外mysql优化有哪些注意的地方

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问