java 数据库查询


序号      保单号                保费      日期
150574  PDAA200833022700014307  880.17  2009-07-31
150575  PDAA200833022700014307  880.17  2009-06-30
150576  PDAA200833022700014307  880.17  2009-06-01
150577  PDAA200833022700014313  1010.00  2009-07-31
150578  PDAA200833022700014313  1010.00  2009-06-30
150579  PDAA200833022700014332  2000.00  2009-07-31
150580  PDAA200833022700014332  2000.00  2009-06-01
150581  PDAA200833022700014332  2000.00  2009-01-01
150582  PDAA200833022700014332  2000.00  2009-06-30
150583  PDAA200833022700014334  2100.00  2009-06-30
150584  PDAA200833022700014334  1550.00  2009-06-30
150585  PDAA200833022700014334  1550.00  2009-06-01
150586  PDAA200833022700014334  2100.00  2009-07-31
150587  PDAA200833022700014334  1550.00  2009-07-31
150588  PDAA200833022700014334  2100.00  2009-06-01

informix数据库

如何查询小于当前时间最近的记录数,如:今天2009-07-22要查找今天以前最近的时间,比如:保单PDAA200833022700014334 查找最近的2009-06-30日的条数和这一天的保费总和 < < < < <记录数2,保费3650.00>>>>>>怎么样用程序统计所有保单

SELECT COUNT(序号),SUM(保费) FROM Table
WHERE 日期=
( SELECT MAX(日期) FROM Table WHERE 日期<当前日期)

[code="sql"]select 序号,count(序号),sum(保费) from table where 日期<当前时间函数 group by 保单号[/code]

查询出来封装成对象就可以了

[quote]比如:保单PDAA200833022700014334 查找最近的2009-06-30日的条数和这一天的保费总和 < < < < <记录数2,保费3650.00>>>>>>怎么样用程序统计所有保单 [/quote]
---把指定保单号的日期与当前日期相差的最小值,就是最近的日期----
[code="java"]select 序号,count(序号),sum(保费) from table
where MIN(today-date(日期))and 保单号='PDAA200833022700014334' [/code]