日期:2014-05-17  浏览次数:20375 次

SQL查询语句问题,请教
我想查询数据库中一个人在某时间段里面去某个地方的次数,根据下面的条件查询出来后,得到的结果如下,我只需要其中一行数据显示在table中,请问该怎么写呢,是修改SQL还是在table里面来写呢

  select COUNT(1) over(partition by a.userid) COUNT, g.remark,u.name, u.gridid
  from action_base a, grid_base g, user_base u
 where u.name like '%林%'
   and a.endtime >= to_date('2013-01-01', 'yyyy-mm-dd')
   and a.endtime <= (to_date('2013-01-17', 'yyyy-mm-dd') + 1)
   and a.userid = u.id
   and u.gridid = g.gridid
 order by a.endtime

       COUNT     remark   name    gridid
1 4  雨山一村   林小白   181
2 4  雨山一村   林小白   181
3 4  雨山一村   林小白   181
4 4  雨山一村   林小白   181

------解决方案--------------------
  select sum(1) AS Count, g.remark,u.name, u.gridid
  from action_base a, grid_base g, user_base u
 where u.name like '%林%'
   and a.endtime >= to_date('2013-01-01', 'yyyy-mm-dd')
   and a.endtime <= (to_date('2013-01-17', 'yyyy-mm-dd') + 1)
   and a.userid = u.id
   and u.gridid = g.gridid
   group by g.remark,u.name, u.gridid