现在有一张表
id jdid kfjg msj 门市价 psj 平时价 zmj 周末价 qssj 起始时间
31 26 0 1234 150 150 1262275200
32 26 0 1234 148 148 1262275200
33 26 0 1234 188 188 1262275200
34 26 0 1234 168 168 1262275200
113 26 0 400 100 100 1272729600
114 26 0 99 99 99 1274630400
115 26 0 88 88 88 1274716800
116 26 0 100 1001 1001 1274544000
数据如下
CREATE TABLE IF NOT EXISTS `gm_homtel_price` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`jdid` int(8) DEFAULT '0',
`kfjg` int(8) DEFAULT '0',
`msj` int(8) DEFAULT '0' COMMENT '门市价',
`psj` int(8) DEFAULT '0' COMMENT '平时价',
`zmj` int(8) DEFAULT '0' COMMENT '周末价',
`qssj` int(10) DEFAULT '0' COMMENT '起始时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='酒店价格' AUTO_INCREMENT=117 ;--
-- 转存表中的数据 `gm_homtel_price`
--INSERT INTO `gm_homtel_price` (`id`, `jdid`, `kfjg`, `msj`, `psj`, `zmj`, `qssj`) VALUES
(31, 26, 0, 1234, 150, 150, 1262275200),
(32, 26, 0, 1234, 148, 148, 1262275200),
(33, 26, 0, 1234, 188, 188, 1262275200),
(34, 26, 0, 1234, 168, 168, 1262275200),
(113, 26, 0, 400, 100, 100, 1272729600),
(114, 26, 0, 99, 99, 99, 1274630400),
(115, 26, 0, 88, 88, 88, 1274716800),
(116, 26, 0, 100, 1001, 1001, 1274544000);我给定一个时间,我想查出该时间之前,但距该时间最近的时间对应的最小的psj。
比如有如下数据
jdid kfid psj qssj
1 1 10 123
1 1 12 124
1 2 15 128
1 2 19 129
1 3 20 100
1 3 8 130
现在我给定qssj<=129,现在把 12 找出来。求教大家,如何完成啊?
分数不多,请大家帮帮我,谢谢
id jdid kfjg msj 门市价 psj 平时价 zmj 周末价 qssj 起始时间
31 26 0 1234 150 150 1262275200
32 26 0 1234 148 148 1262275200
33 26 0 1234 188 188 1262275200
34 26 0 1234 168 168 1262275200
113 26 0 400 100 100 1272729600
114 26 0 99 99 99 1274630400
115 26 0 88 88 88 1274716800
116 26 0 100 1001 1001 1274544000
数据如下
CREATE TABLE IF NOT EXISTS `gm_homtel_price` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`jdid` int(8) DEFAULT '0',
`kfjg` int(8) DEFAULT '0',
`msj` int(8) DEFAULT '0' COMMENT '门市价',
`psj` int(8) DEFAULT '0' COMMENT '平时价',
`zmj` int(8) DEFAULT '0' COMMENT '周末价',
`qssj` int(10) DEFAULT '0' COMMENT '起始时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='酒店价格' AUTO_INCREMENT=117 ;--
-- 转存表中的数据 `gm_homtel_price`
--INSERT INTO `gm_homtel_price` (`id`, `jdid`, `kfjg`, `msj`, `psj`, `zmj`, `qssj`) VALUES
(31, 26, 0, 1234, 150, 150, 1262275200),
(32, 26, 0, 1234, 148, 148, 1262275200),
(33, 26, 0, 1234, 188, 188, 1262275200),
(34, 26, 0, 1234, 168, 168, 1262275200),
(113, 26, 0, 400, 100, 100, 1272729600),
(114, 26, 0, 99, 99, 99, 1274630400),
(115, 26, 0, 88, 88, 88, 1274716800),
(116, 26, 0, 100, 1001, 1001, 1274544000);我给定一个时间,我想查出该时间之前,但距该时间最近的时间对应的最小的psj。
比如有如下数据
jdid kfid psj qssj
1 1 10 123
1 1 12 124
1 2 15 128
1 2 19 129
1 3 20 100
1 3 8 130
现在我给定qssj<=129,现在把 12 找出来。求教大家,如何完成啊?
分数不多,请大家帮帮我,谢谢
解决方案 »
- 关于URL访问的一个问题
- 海量计算机 php编程资料免费下载
- 请教 onkeydown 和 onkeypress 的区别 ?
- 关于会员文字信息与所要上传文件的信息如何正确的关联的问题
- 实现批量修改数据问题,UPDATE时想在原来该字段基础上连接新内容
- 求一个字符串函数
- 各位帮我看一下,我真的很茫然,连这个小问题都搞不懂,我很惭愧...........................
- 紧急求救PHP中提交多个空格的问题!
- 客户端验实现不了,请高人指教主????
- 急急急, 如何把php安装成(apache模块方式)的呢,不是(CGI方式的)???
- 如何控制悬停文字的大小
- php的网站转换为静态页面怎么实现? ...................????????
应该是这样吧,sql语句不太会写,不确定
你那个时间段为什么要取时间124,怎么不取123哦
123的psj更下呢?还只为10
1、由qssj<=129中qssj最大的一行,得到
jdid kfid psj qssj
1 1 10 1231 1 12 124
1 2 15 1281 2 19 129
1 3 20 100
1 3 8 1302、再从余下的几行中选取psj最小的一行
于是得到psj=12,这是最小的一行。
如有qssj 分别为124 127 128 129,那么就找到129的那一行。
我可能说的有些不准确,谢谢大家了。