我想从一个查询中计算出同一表中的两列。
1- 关注人数
2- 关注人数
我正在使用union和groupby来获取两列的计数,但是只能从查询中获取一列的计数。
我在下面使用的查询:
SELECT follow_attr.username, follow_attr.followerid, follow_attr.followeeid, follow_attr.followercount, follow_attr.followeecount
FROM (
SELECT u.username, dff.followerid AS followerid, dff.followeeid AS followeeid, count(dff.followerid) AS followercount, count(dff.followeeid) AS followeecount
FROM tablename AS dff
LEFT JOIN user AS u ON u.userid = dff.followerid
GROUP BY dff.followerid
UNION ALL
SELECT u.username, dffs.followerid AS followerid, dffs.followeeid AS followeeid, count(dffs.followerid) AS followercount, count(dffs.followeeid) AS followeecount
FROM tablename AS dffs
LEFT JOIN user AS u ON u.userid = dffs.followeeid
GROUP BY dffs.followeeid
) AS follow_attr
WHERE follow_attr.username IS NOT NULL
GROUP BY follow_attr.followerid, follow_attr.followeeid
ORDER BY RAND()
LIMIT 0,6
在此查询中,我无法获取Followeecount。
让我知道该程序出了什么问题。
答案 0 :(得分:0)
执行此操作 从表名中选择COUNT(关注者数量)AS f_count,COUNT(关注者数量)AS fe_count