产品名称   时间                 价格
A         2009.07.05             100
A         2009.07.06             100
A         2009.07.07             100
A         2009.07.08             100
A         2009.07.09             150
A         2009.07.10             150
B          2009.07.05             100合并成:A    2009.07.05 -2009.07.08    100
A         2009.07.09-2009.07.10     150
B         2009.07.05-2009.07.05     100

解决方案 »

  1.   

    select 
    name,
    min(date),
    max(date),
    avg(price)
    from
    table a,
    (select 
    price
    from
    table
    group by price) b
    where 
    a.price = b.price
    group by name 
      

  2.   


    1、构建一个产品对象
        eg:
        class PO{
      private String name;
        private Date date
        private double price.

       然后把这个PO对象放入 List对象中2.日期有可能不是连续的。有可能某一天它没有价格。。
      

  3.   

    你这样一个PO对象的设计,如果存放合并后的数据???你这个Date型想存2009.07.05-2009.07.08这样的形式咋办?
    如果出现日期不连续的 你希望得出的结果是?
    A 2009.07.05-2009.07.08  100 
    A   2009.07.09-2009.07.10  150 
    B   2009.07.05-2009.07.05  100
    在这个基础上如果有一条数据是
    A 2009.08.01 100 咋办?放哪?单独形成一行?
    变成
    A 2009.07.05-2009.07.08  100 
    A   2009.07.09-2009.07.10  150 
    B   2009.07.05-2009.07.05  100
    A   2009.08.01-2009.08.01  100
    ?????????????????