一个关于查询连续2次为负数的 SQL语句

一个关于查询连续2次为负数的 SQL语句
Name Pici Data 成绩
小王 1 2010-1-11 33
小李 2 2010-08-25 33
小李 2 2010-08-22 -40
小王 2 2010-2-11 22
小张 1 2010-3-11 22
小李 3 2010-09-04 -10
小王 3 2010-3-11 11
小张 2 2010-6-22 -30
小王 4 2010-09-13 20
小张 3 2010-09-14 -50
上面是一张各业务员完成一个项目的成绩,pici就是完成的第几个项目
我想请教怎么用SQL表现出来下面的效果,该业务员最后一次成绩和上一次成绩都为负的显示出来.
姓名 最后一批成绩 上一批成绩
小张 -50 -30
小李 -10 -40
jeune 1年前 已收到1个回答 举报

老人与大海 春芽

共回答了25个问题采纳率:92% 举报

select t9.name, t9.`成绩` as `最后一批成绩`,t8.`成绩` as `上一批成绩` from (select t3.*, t5.`成绩` from (select a3.name,max(`date`) as date2 from atest as a3 where `成绩` <0 anda3.date not in (SELECT max( date ) AS date FROM atestWHERE `成绩` <0 GROUP BY `name`) GROUP BY `name`) as t3 left joinatest as t5 on t5.date = t3.date2) as t8, (select t1.name, t1.date,t1.`成绩` from (SELECT `id`,`name` , `date` , `成绩` FROM atest WHERE `成绩` <0) as t1,(SELECT max( date ) AS date FROM atest WHERE `成绩` <0 GROUP BY `name`) as t2 where t1.date = t2.date) as t9 where t8.name = t9.name

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.027 s. - webmaster@yulucn.com