表中有检查人jcrxm,检查时段jcsd,检查日期jcrq等等,如何按人名进行检查次数的统计,然后选取前两条记录显示出来
用select count(*) from JCXS_INFO where jcrq between to_date() and to_date() and jcsd like "%"
大概就是这个语句,请教高手指点

解决方案 »

  1.   

    数据库中人名是char,检查日期和检查时段都是date类型
      

  2.   

    select * from (select jcrxm, count(jcrxm) as cnt from JCXS_INFO where (jcrq between ? and ?) and jcsd like ? group by jcrxm order by cnt desc) t where t.rownum <= 2
      

  3.   

    不好意思,问一下3楼的兄台,那个t代表什么呢,还有怎么把选择出来的记录显示出来呢?
    用response.write("cnt")可以吗
      

  4.   

    t是别名,已查询出的结果作为集合进行再查询,为了引用条件的方便定义了一个别名t
    语法是oracle的语法。ms db可以用top基本不变结果字段为jcrxm,cnt
    response.write rs("jcrxm")
    response.write rs("cnt")
      

  5.   

    数据库用的就是oracle的,今天试了下检查不出来结果啊,明天再试试吧,谢谢楼上大侠
      

  6.   

    还是不行啊,提示错误无效的用户,表,列或列规格
    语句这样写的set rsk=cn.execute(("select * form (select jcsd,jcrq,jcrxm,count(jcrxm) as cnt from jcxs_info where jcrq between? and ? and jcsd like ? group by jcrxm order by cnt)t where t.rownum<=2")
    然后是response.write(rs("jcrxm"))
    response.write(rs("cnt"))
      

  7.   


     between?   and   ?  这的问题   他们中间要有空格,你的空格呢?
      

  8.   

    空格是有的,只是省略了,between to_date() and to_date()
      

  9.   


    你还真一字不差地拷过去了。 ?处用指定内容替换 ? 是jdbc的preparedstatement的写法,asp无法解析。odbc可以用adodb.command 对象和 parameter对象