我正在尝试将所有返回记录的计数添加到我的查询中,但遇到了一些问题。这是一个非常大的查询,所以我不会全部发布。
执行此操作时,我得到了所有记录,但计数 rs.Fields("totalRecCount") 始终返回 1。有人能看出我做错了什么并提出修复建议吗?
这是最上面的部分:
Set cmdConn = Server.CreateObject("ADODB.Command")
Set cmdConn.ActiveConnection = Conn
cmdConn.Prepared = True
Const ad_varChar = 200
Const ad_ParamInput = 1
Const ad_Integer = 3
selectClause = "SELECT COUNT(photoID) AS totalRecCount, photoID FROM photoSearch "
whereClause = "WHERE photoStatus = 'Live' "
这是底部:
groupBy = "GROUP BY photoID "
orderClause = "ORDER BY dateCreated DESC "
SQL = selectClause & whereClause & groupBy & orderClause & limitClause
cmdConn.CommandText = SQL
Set rsPhotoSearch = cmdConn.Execute
最佳答案
它返回 1,因为您是按要计数的对象进行分组的。删除 group by
子句和 photoId
列,您将获得记录数。
group by
告诉 MySQL,“对于每个不同的 PhotoID
,计算非空 PhotoID
的数量。”根据定义,这是 1。
关于MySQL/经典 ASP - 记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900262/