有一张表(t_reg_history),找出一天中,所有第一笔交易是开通,最后一笔交易也是开通的手机号的数量。表结构主要字段有: 交易流水 主键
交易日期 主键
手机号
入库时间
交易类型(开通、注销...)
请各位大侠指点,小妹拜谢!
交易日期 主键
手机号
入库时间
交易类型(开通、注销...)
请各位大侠指点,小妹拜谢!
解决方案 »
- 求一条sql
- mysql访问量稍大,就会内存占满而停止,请帮忙分析一下原因
- mysql问题
- mysql count(*) 统计查询花20秒
- 有谁知道怎么看my sql数据库表的字段名,我创建的表是一个空表
- pb通过odbc连接mysql问题?
- 在线等,求一条SQL语句
- 我怎么连不上本地的MYSQL?????
- 我想将sqlserver2000的程序转到mysql上,要做那些改变?价格呢?另外:问斑竹:刚才那个帖子怎么会打不开掉?
- Mybatis 怎么返回insert插入的主键
- 谁可以帮解释下 key_buffer_size 设置为什么要满足1:1000呢?
- mysql 分组取每组时间最靠前的两条数据
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
`RPID` char(20) NOT NULL COMMENT '平台交易流水号',
`PLATDATE` char(8) NOT NULL,
`TRANSTYPE` smallint(6) NOT NULL default '0' COMMENT '0:未知 1:注册 2:注销',
`TRANSSTATE` smallint(6) NOT NULL default '0' COMMENT '0:未知 2:成功 4:失败',
`SCHOOLNO` char(5) default NULL COMMENT '学校编号',
`MOBILENO` char(12) default NULL COMMENT '手机号',
`INTIME` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT '入库时间',
PRIMARY KEY (`RPID`,`PLATDATE`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='订购交易历史表'select RPID,PLATDATE,TRANSTYPE,TRANSSTATE,SCHOOLNO,MOBILENO,INTIME from t_reg_history where TRANSSTATE=2;的结果如下:
000000000000000008;20100617;1;2;A0018;13958196464;2010-06-17 15:05:06.0;
000000000000000012;20100617;2;2;A0018;13958196464;2010-06-17 15:34:32.0;
现在想找出如下结果:
对于一个手机号一天中的交易,第一笔成功交易是开通交易,最后一笔成功交易也是开通交易,有多少这样的手机号?交易先后按照入库时间INTIME来判断,“开通交易”按照交易类型TRANSTYPE来判断
PLATDATE:交易日期,这个字段可以判断是哪天的交易;
TRANSTYPE:交易类型;
TRANSSTATE:交易状态;
INTIME:入库时间,就是插入时间,根据这个字段判断交易先后。