本文介绍了计算子查询中的行数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将 SELECT 查询中的行数计为值?比如
How could I count rows from a SELECT query as a value? Such as
SELECT FUCNTIONIMLOOKINGFOR(SELECT * FROM anothertable) AS count FROM table;所以该计数是子查询 SELECT * FROM anothertable 返回的行数的整数.
So that count is an integer of how many rows the subquery SELECT * FROM anothertable returns.
编辑
SELECT p.PostPID, p.PostUID, p.PostText, p.PostTime, u.UserUID, u.UserName, u.UserImage, u.UserRep, ( SELECT COUNT(f.FlagTime) FROM Flags as f JOIN Posts as p ON p.PostPID = f.FlagPID ) as PostFlags FROM Posts AS p JOIN Users AS u ON p.PostUID = u.UserUID ORDER BY PostTime DESC LIMIT 0, 30 推荐答案 SELECT ( SELECT COUNT(id) FROM aTable ) as count FROM table我假设您的示例是实际查询的截断版本,因此也许您应该发布您所追求的内容以获得可能更优化的查询.
I assume your example is a truncated version of your actual query, so perhaps you should post what you are after to get a, possibly, more optimal query.
编辑
直接从我的大脑中工作,这样的事情应该更理想.
Working directly from my brain, something like this should be more optimal.
SELECT p.PostPID, p.PostUID, p.PostText, p.PostTime, u.UserUID, u.UserName, u.UserImage, u.UserRep, COUNT(v.FlagTime) as postFlags FROM Flags as f JOIN Posts as p ON p.PostPID = f.FlagPID JOIN Users AS u ON p.PostUID = u.UserUID LIMIT 0, 30 GROUP BY p.PostPID ORDER BY PostTime DESC更多推荐
计算子查询中的行数
发布评论