表数据:
人员名称     水表口径       使用时间
zhang       DN10         2013-8-1
zhang       DN10         2013-8-2
zhang       DN20         2013-8-3
wang        DN10         2013-8-1
wang        DN10         2013-8-1
wang        DN15          2013-8-3
wang        DN20          2013-8-4
要的查询结果是:不同的人在不同的时间使用不同的水表口径的次数统计。比如:zhang 在2013-8-1 使用DN10 1 次。wang   2013-8-1  DN10  2 次。不知道描述清楚没,麻烦各位高手了。
      

解决方案 »

  1.   

    楼主是这个意思吗?
    人员名称 水表口径 使用时间          使用次数
    -------- -------- ----------- ----------
    wang     DN10     2013/8/1             2
    zhang    DN10     2013/8/1             1
    zhang    DN10     2013/8/2             1
    wang     DN15     2013/8/3             1
    zhang    DN20     2013/8/3             1
    wang     DN20     2013/8/4             1
      

  2.   

    忘了sql了,哈哈
    select "人员名称","水表口径","使用时间",count(1)"使用次数" from t1
    group by "人员名称","水表口径","使用时间"
    order by "使用时间";
    人员名称 水表口径 使用时间          使用次数
    -------- -------- ----------- ----------
    wang     DN10     2013/8/1             2
    zhang    DN10     2013/8/1             1
    zhang    DN10     2013/8/2             1
    wang     DN15     2013/8/3             1
    zhang    DN20     2013/8/3             1
    wang     DN20     2013/8/4             1
      

  3.   

    忘了sql了,哈哈
    select "人员名称","水表口径","使用时间",count(1)"使用次数" from t1
    group by "人员名称","水表口径","使用时间"
    order by "使用时间";
    人员名称 水表口径 使用时间          使用次数
    -------- -------- ----------- ----------
    wang     DN10     2013/8/1             2
    zhang    DN10     2013/8/1             1
    zhang    DN10     2013/8/2             1
    wang     DN15     2013/8/3             1
    zhang    DN20     2013/8/3             1
    wang     DN20     2013/8/4             1

    先谢谢大哥,想在追问大哥一个问题,麻烦看看,统计报表要这么显示
    姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    wang    DN10          2         0          0         0
            DN15          0         0          1         0
            DN20          0         0          1         0
    zhang ....这样怎么取值啊,大哥。
      

  4.   

    你的日期应该是不确定的吧?
    这个需要动态sql进行列转行的
      

  5.   

    姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    这里的日期是每次统计的是上月的26号到本月的25号是固定的。然后统计有在哪天用到过的口径的次数,这样子。姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    这个东西你要作为列名的话,不是一个sql就可以搞定的,需要动态sql或存储过程。很麻烦的
      

  6.   

    姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    这里的日期是每次统计的是上月的26号到本月的25号是固定的。然后统计有在哪天用到过的口径的次数,这样子。姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    这个东西你要作为列名的话,不是一个sql就可以搞定的,需要动态sql或存储过程。很麻烦的
    不是啊,大哥,这个是固定的,就和数据库里面的时间做对比,要是有用过,则在对应的口径和时间那显示次数
      

  7.   

    姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    这里的日期是每次统计的是上月的26号到本月的25号是固定的。然后统计有在哪天用到过的口径的次数,这样子。姓名     口径\日期   2013/8/1  2013/8/2  2013/8/3   2013/8/4
    这个东西你要作为列名的话,不是一个sql就可以搞定的,需要动态sql或存储过程。很麻烦的
    不是啊,大哥,这个是固定的,就和数据库里面的时间做对比,要是有用过,则在对应的口径和时间那显示次数能用数据举个列子吧,现在看不懂了