请各位高手帮忙,谢谢了!~~~~~~~我用的是PostgreSQL,现在有张表,里面有 calldate(日期), clid(呼叫号码 (使用者姓名)如:55785008 <Eva>),src(主叫方号码 如:55785008),dst(被叫方号码 如:55785002)
我现在要查的是,在某段时间内主叫方号码,让他按照出现次数的多少,降序排列,或者升序排列。希望各位给我指导一下,小弟不胜感激!
比如说 现在有这样的数据
  calldate    src(主叫号码)      dst
2007-12-04    5001                  5002
2007-12-05    5001                  5004
2007-12-06    5002                  5008
2007-12-06    5001                  5004
2007-12-06    5002                  5007
2007-12-06    5009                  5007
我现在要求查询出来的数据是  在 2007-12-04 到 2007-12-06  这个期间 按照src出现次数最多的排在最前面
例如这样:2007-12-04    5001                  5002
2007-12-05    5001                  5004
2007-12-06    5001                  5004
2007-12-06    5002                  5008
2007-12-06    5002                  5007
2007-12-06    5009                  5007select calldate,clid,src,dst,channel,dstchannel,duration,billsec,disposition,accountcode from cdr a,(select src sr,count(*) cn from cdr group by src) b where a.src=b.sr and CALLDATE>timestamp('2007-12-04') and CALLDATE<timestamp('2007-12-09')order by cn asc,src,calldate
我这样写的,在MYSQL,oracle,都可以,但是放到这里就不行了,我对这个数据库不了解,请高手指教!
出现错误:
严重: Servlet.service() for servlet jsp threw exception
org.postgresql.util.PSQLException: 错误: 语法错误 在 "sr" 或附近的
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:336)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:235)
        at report.Cdr.getDisplay(Cdr.java:108)
        at org.apache.jsp.pages_005fdo.cdr_005fdo_jsp._jspService(cdr_005fdo_jsp.java:58)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Unknown Source)