php - 按平台选择和统计不同的活跃用户,并比较它们是否存在于其他表中

标签 php mysql sql database

我有大约六 (6) 个表,每个表都与用户 ID 相关联。其中一个表是 userinfo。用户信息包含用户详细信息,包括他们的商店平台(例如 magento)

  1. Userinfo 包含活跃用户和非活跃用户(活跃用户在其他 5 个表中至少创建了一个事件)。
  2. 我想使用 magento 平台计算 userinfo 中在任何其他表中都有记录的用户的不同数量。
  3. 目前,我可以使用 ff 代码计算其他五个表中的不同用户数,但我想将其与 userinfo 表结合起来,以便我可以使用 magento 平台选择活跃用户。
  4. 不添加 userinfo 表意味着我无法按平台选择用户。
  5. 仅在 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 ,您可以使用 UserInfoJOIN 并获取您的非重复计数。

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/

相关文章:

php - 查询数据到phpmyadmin数据库表

mysql - SQL json提取数组中的位置

mysql查询用户的每个体验id都有一行

php - SQL/PHP : SELECT only one row per item

php - 如何使用 PHP 将 JSON 解析为 html 表?

PHP - 比较 2 个多维数组中的值,然后输出所有关联的值

php - 在一张表中插入会自动将 null 添加到另一张表中

php - array_filter 将索引数组转换为关联数组

mysql - 两个表的 SQL 更新

sql - Oracle:从systables/information_schema中查找索引创建日期吗?