mysql中如查询最近一定数量的记录
时间:2011-12-09
来源:互联网
ID datatime 数量
01 2011-3-1 9:10:10 10
02 2011-3-2 12:01:13 5
03 2011-3-2 11:30:22 7
04 2011-3-2 14:50:1 11
05 2011-3-4 15:3:3 8
如何查询返回数量总和刚超过20的datatime排序最后 记录
即需要返回 03 04 05 三条记录,因为8+11+7刚超过20
作者: ywscr0000 发布时间: 2011-12-09
select * from 表 a where 20>(select sum(数量) from 表 where datatime<a.datatime) and 20<=(select sum(数量) from 表 where datatime<=a.datatime)
作者: ACMAIN_CHM 发布时间: 2011-12-09
FROM ttg1 AS a ) b WHERE ss>=20;
作者: WWWWA 发布时间: 2011-12-09
仅返回 ID为02的一条记录
作者: ywscr0000 发布时间: 2011-12-09
若增加记录:
06 2011-3-5 4:4:4 8
则返回 03 04 05 06共四条记录,需要返回 04 05 06 三条记录 ,请再改下
作者: ywscr0000 发布时间: 2011-12-09
SQL code
select * from 表 a where 20>(select sum(数量) from 表 where datatime<a.datatime)
作者: ACMAIN_CHM 发布时间: 2011-12-09
WWWWA:
若增加记录:
06 2011-3-5 4:4:4 8
则返回 03 04 05 06共四条记录,需要返回 04 05 06 三条记录 ,请再改下
SELECT * FROM (SELECT *,IFNULL((SELECT SUM(数量) FROM ttg1 WHERE a.id >id ),0)+a.`数量` AS ss
FROM ttg1 AS a ) b WHERE ss>=20 ORDER BY id DESC LIMIT 3
作者: WWWWA 发布时间: 2011-12-09
我试了下,返回 02 03两条记录
作者: ywscr0000 发布时间: 2011-12-09
SELECT * FROM (SELECT *,IFNULL((SELECT SUM(数量) FROM ttg1 WHERE a.id >id ),0)+a.`数量` AS ss
FROM ttg1 AS a ) b WHERE ss>=20 ORDER BY id DESC LIMIT 3
返回记录正确(03 04 05),但若 05 记录 数量改为 10时,应只返回 04 05两条记录 因为10+11>20
请再指点下
作者: ywscr0000 发布时间: 2011-12-09
作者: WWWWA 发布时间: 2011-12-09
from 表 a
where 20>(select sum(数量) from 表 where datatime>a.datatime)
作者: ACMAIN_CHM 发布时间: 2011-12-09
作者: ywscr0000 发布时间: 2011-12-09
先按时间排序:
1:05 数量为8 累计数量和为8<20
2:04 数量为11 累计数量和为19<20
3:03 数量为7 累计数量和为26>20 终止,返回 03 04 05 三条记录
若将 05记录数量改为10则
1:05 数量为10累计数量和为10<20
2:04 数量为11 累计数量和为21>20 终止,返回 04 05 两条记录
作者: ywscr0000 发布时间: 2011-12-09
SELECT *,IFNULL((SELECT SUM(数量) FROM ttg1 WHERE a.id <id ),0)+a.`数量` AS ss
FROM ttg1 AS a ) a WHERE ss<=
(SELECT MIN(ss) FROM (
SELECT *,IFNULL((SELECT SUM(数量) FROM ttg1 WHERE a.id <id ),0)+a.`数量` AS ss
FROM ttg1 AS a ) c WHERE ss>=20)
作者: WWWWA 发布时间: 2011-12-09
from 表 a
where 20>(select sum(数量) from 表 where datatime<a.datatime)
作者: rucypli 发布时间: 2011-12-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28