ORDER BY和GROUP BY如何一起使用?(10分)

  • 主题发起人 主题发起人 cAkk
  • 开始时间 开始时间
C

cAkk

Unregistered / Unconfirmed
GUEST, unregistred user!
我用(ODBC Express+Access):
SELECT name,COUNT(*) AS cn FROM tablename ORDER BY cn GROUP BY name

ODBC返回错误信息说参数不对?语法不对吗?

 
SELECT name,COUNT(*) AS cn FROM tablename GROUP BY name ORDER BY cn
试一下
 
to dongliu: 不行,ODBC返回出错信息:“参数不足,期待是。”
 
我测试了,也不行,我也想解决这个问题?
 
试试:
SELECT name,COUNT(*) AS cn FROM tablename GROUP BY name ORDER BY cn
或者
SELECT name,COUNT(*) AS cn FROM tablename GROUP BY name ORDER BY name
或者
SELECT name,COUNT(*) AS cn FROM tablename GROUP BY name ORDER BY cn,name
 
把count(*)改成count(name)试试.
另: group by 在前, order by 在后.
 
所有方法都试了,错误信息一样。

我的数据库是这样的:
只有一个字段pagename,代表网页的名字,

在网页上,我用ASP计算每一页的点击数,每次浏览一页,我就把
这一页的名字写进数据库里面,以后,我想计算出每一页的访问
次数,并且进行排序,看到底别人喜欢我们站点的什么内容。

如果不要 ORDER就可以,统计出了每一页的点击次数,但我想
把统计结果再进行排序,怎么半?
 
SELECT name,COUNT(*) AS cn FROM tablename GROUP BY name ORDER BY cn
的sql 语法绝对没错,我在其他数据库上屡试不爽。估计是ACCESS+ODBC不支持,
试试用别的方法实现,例如建一张临时表,将统计数据存放在那里,然后再读出来。
 
我使用的是Paradox数据库,表items是Delphi演示数据库DBDEMOS,下面SQL语句执行成功
SELECT itemno,COUNT(*) AS cn
FROM items
group by itemno
order by cn;
既然连paradox都支持的话那么我想ACCESS也应该支持该语句。
我猜想可能是ODBC的版本的问题。如果再不行,那检查一下是否在SQL语句中存在全角字符等不可见的字符。
祝你好运!
 
有没有那位大哥用Access+ODBC试过一下? 如果你那里成功了,说明是我的软件问题.

to merlin: 我的语句里面没有拳脚字符.
 
呵呵,最后加个';'呢?
 
试一试下面的语句:
SELECT a."name",COUNT(*) AS cn FROM tablename a
GROUP BY name
ORDER BY cn
注意:字段的大小写。
 
to liuyj: 还是不行。
怎么没人帮我用access+odbc试试?
 
多人接受答案了。
 
李颖: 你!!! 不过才2个月嘛! :-(
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部