MySQL /经典ASP - 记录计数

时间:2012-01-17 19:09:57

标签: mysql asp-classic

我正在尝试将所有返回记录的计数添加到我的查询中,但存在一些问题。这是一个非常大的查询,所以我不会发布所有内容。

执行此操作时,我获取所有记录,但计数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

2 个答案:

答案 0 :(得分:2)

它返回1,因为你按照你想要计算的东西进行分组。删除group by条款和photoId列,您将获得记录数。

group by告诉MySQL,“对于每个不同的PhotoID,计算非空PhotoID的数量。”根据定义,那是1。

答案 1 :(得分:0)

试试这个:

selectClause = "SELECT COUNT(*) AS totalRecCount, photoID FROM photoSearch "
whereClause = "WHERE photoStatus = 'Live' "   
groupBy = "GROUP BY photoID "
SQL = selectClause & whereClause & groupBy
cmdConn.CommandText = SQL