计算本年用户最大未登录时间段
计算本年用户最大未登录时间段space_user_task_statistics_log 如果用户登录过,则将信息记入该表主要信息有用户ID和登录时间space_user 记录用户基本信息. 主要包括用户ID和注册时间信息.需求:查所有用户在2017年最大的未登录时间段如果用户在2017年才注册,那么有效时间从注册时间开始算。其实这是...
查询前50%的数据
实验环境:create table t (c int);insert into t values (15),(7),(9),(10),(7),(8),(20),(16),(9),(19),(14),(10),(11),(10),(10),(12),(7),(10),(7),(9);commit; c 等于10,7,9的数量有 11个,超过了半数。超过半数的 item信息。通用方式,不依赖具体数...
Excel实现动态行转列(数据透视表)
固定行转列比较容易实现.但是动态行转列的需求,用SQL都难以实现,要不然就是超级复杂。不过很多第三方工具都已经提供了很好的支持,不一定非得用SQL实现.比如帆软报表和Excel。最近接到一个比较复杂的查询,并且要求动态行转列.查询的SQL如下...
用数字辅助表补录数据一则
结构:create table user_baseinfo( userid bigint not null primary key , createtime timestamp);create table user_daily_log( userid bigint, &...
动态固定行转列
需求要看最近7天新增评论数,而且每天都要查一次SQL不复杂 SELECT to_char(createtime,'yyyy-mm-dd') createtime,count(*) c FROM mvbox_space.user_comment where createtime>=trunc(sysdate - interval '7' day) &n...
给定数字生成中文数字(MySQL)
接前文http://blog.itpub.net/29254281/viewspace-2143103/用MySQL实现select group_concat( target order by id desc Separator '') result from ( select  ...
Excel巧录权限矩阵
领导要录入一个权限矩阵的数据入数据库,问我有没有什么好办法?能说没有么?通篇Excel都是类似如下的矩阵,矩阵非常多,每个矩阵还非常大.创建测试表.create table t( id int primary key auto_increment, f varchar(32) not null, t varchar(32) not null,...
指定分组内的等级位置
CREATETABLE `SongID` (11) COMMENT , intNOTNULL'艺术家ID' `State` (6) COMMENT , timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP'发布时间' `Priority`...
MySQL 间断范围问题
MySQL连续范围的姊妹篇MySQL连续范围链接如下:http://blog.itpub.net/29254281/viewspace-1385638/实验环境准备
将MySQL去重操作优化到极致之三弹连发
将MySQL去重操作优化到极致之三弹连发(一):巧用索引与变量http://blog.csdn.net/wzy0623/article/details/54377986实验准备:create table t_source ( item_id int, created_time datetime, &...
MySQL列转行巧录数据
insert into target(channel,d,program,starttime,endtime) select '中国之声',1,d1,min(starttime),max(endtime) from ( SELECT @gid := @cgid, @cgid := t.d1, if(@gid =&nbs...
隔两行生一行计算变化率(续)
昨天的需求貌似不对啊.要是计算变化率的话应该是10月1日和10月2日比,然后是10月2日和10月3日比.昨天那个理解成了10月1日和10月2日比,10月3日和10月4日比.如果是10月1日和10月2日比,然后是10月2日和10月3日比.其实SQL还要简单一些.数据同前文.http://blog.itpub.net/29254281/viewspace-2127080/SQLs...
隔两行生一行计算变化率
今天宋三胖宋老师发了他们单位的一个需求原型.他这个原型似乎是每两天,计算一个变化率. 数据都是示意的.实际应该是如下图所示第三行变化率计算公式 (第一行 - 第二行) / 第一行他们大数据,数据仓库的需求我也不是很明白.实验数据准备.create table nums(id int ...
通过变动日志获取某一时刻所有用户的帐号余额
createtable userid , intnotnull (userid) account_log( intnotnullprimarykey ...
MySQL随机选取资源--优化
接前文:http://blog.itpub.net/29254281/viewspace-2120294/前文中,Order by rand()在数据量大的时候,会有一些性能问题.set autocommit=set @roomid:=-1; min(roomid) from where ( &nb...
MySQL随机选取资源
随机选取一个资源模拟表如下:create bigint null auto_increment comment smallint null '状态.1表示空闲,2表示被占用', key(RoomID) INTO `room_info` (`RoomID`,`State`) INSERT&n...
指定一个ID找到上下的范围
倒是不复杂需求:实现思路:给定一个ID,比如272944如果表中的ID大于这个值,则自定义变量自增加一,如果表中的ID小于这个值,则用这个值减去表中ID,如果表中的ID等于这个值,则为0 SELECT a.ZpID, ...
Oracle二进制与十进制转换
求123的二进制编码方法一:SELECT REPLACE(sys_connect_by_path(DECODE(bitand(123, power(2, ceil(log(2, 123)) - level)), 0, '0', '1'), '.'),'.',NULL) FROM dual WHERE level ...
SQL位运算
做网站的人都应该明白有一些瓷,不可说,说不得,不可思,不可议.但是,你懂的.结构和数据:create table SENSITIVE_WORD( id int primary key auto_increment, word varchar(20) not&n...
井字棋解法(参考答案一解)
答案出来了.其中细节还需要仔细回味.http://www.itpub.net/thread-2048956-1-1.html最自然的解题思路,就是模拟真人下棋的情况,而SQL的优势在于它不会放过每个可能下子的位置,最终自然会得到所有的结局。从空棋盘开始,尝试在每个空位下子,每下一子就查看是否出现胜局,如果胜负已分则不再继续。所有空位已满也不再...