我有大约六 (6) 个表,每个表都与用户 ID 相关联。其中一个表是 userinfo。用户信息包含用户详细信息,包括他们的商店平台(例如 magento)
- Userinfo 包含活跃用户和非活跃用户(活跃用户在其他 5 个表中至少创建了一个事件)。
- 我想使用 magento 平台计算 userinfo 中在任何其他表中都有记录的用户的不同数量。
- 目前,我可以使用 ff 代码计算其他五个表中的不同用户数,但我想将其与 userinfo 表结合起来,以便我可以使用 magento 平台选择活跃用户。
- 不添加 userinfo 表意味着我无法按平台选择用户。
仅在 userinfo 表中选择用户,使用 magento 平台会很容易,但这意味着我可能会选择仅注册但不会继续在我的应用程序上创建事件的用户。
$query3 = ("SELECT COUNT(*) FROM ( SELECT userid FROM table1 UNION SELECT userid FROM table2 UNION SELECT userid FROM table3 UNION SELECT userid FROM table4 UNION SELECT userid FROM table5 ) AS UserIDs"); $result3 = mysql_query($query3) or die(mysql_error()); $row3 = mysql_fetch_row($result3); echo "Number of distinct users in all tables = ".$row3[0] ."<br />"; **Table 1** Id userid name adresss **Table 2** Id Title Sex userid **Table 3** Id userid amount **Table 4** Id price promotion userid productid **Table 5** Id userid category tax weight **userinfo** Id userid username password platform
最佳答案
扩展 UNION
子选择 from my other suggestion ,您可以使用 UserInfo
表 JOIN
并获取您的非重复计数。
SELECT COUNT (DISTINCT ui.UserID))
FROM (
SELECT UserID FROM Table1
UNION SELECT UserID FROM Table2
UNION SELECT UserID FROM Table3
UNION SELECT UserID FROM Table4
UNION SELECT UserID FROM Table5
) AS id
INNER JOIN UserInfo ui ON ui.UserID = id.UserID
WHERE ui.Platform = 'Magento'
关于php - 按平台选择和统计不同的活跃用户,并比较它们是否存在于其他表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11503321/