MySQL /经典ASP - 记录计数
问题描述:
我试图将所有返回记录的计数添加到我的查询中,但有一些问题。这是一个非常大的查询,所以我不会发布一切。MySQL /经典ASP - 记录计数
当这个执行时,我得到的所有记录,但计数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
答
试试这个:
selectClause = "SELECT COUNT(*) AS totalRecCount, photoID FROM photoSearch "
whereClause = "WHERE photoStatus = 'Live' "
groupBy = "GROUP BY photoID "
SQL = selectClause & whereClause & groupBy
cmdConn.CommandText = SQL
所有你/我们需要知道的是最后的SQL子句。 – Hamish 2012-01-17 19:12:20
你在'GROUP BY'上做了什么'limitClause'? – 2012-01-17 19:17:28
我不知道@ p.campbell,这就是我得到帮助的原因 – TheCarver 2012-01-17 19:23:45