从 GL 表中查询出所有月份的发生额都比 2011 科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有1 -12 月份的发生额。 accid:科目代码;mon:发生额月份;amt:发生额

1、先查询2011科目所对应的月份以及月份所对应的发生额

Select mon,amt from GL where accid=’2011’

2、查询GL表中除了2011科目外,月发生额比2011对应月份发生额高的科目信息

Select a.* from GL a,(Select mon,amt from GL where accid=’2011’

) b where a.mon=b.mon and a.amt>b.amt;

3、最后去掉不是每个月的发生额都比2011科目对应的发生额高的科目

Select accid from (Select a.* from GL a,(Select mon,amt from GL where accid=’2011’

) b where a.mon=b.mon and a.amt>b.amt;

) c group by accid having count(mon)=12;

‘真实的’活着
原文地址:https://www.cnblogs.com/chenxi-hxl/p/9550448.html