按平台选择和计数不同的活动用户,并比较它们是否存在于其他表中
技术问答
202 人阅读
|
0 人回复
|
2023-09-12
|
我大约有六个(6)表,每个表都有userid链接。表之一是userinfo。用户信息包含用户详细信息,包括其商店平台(例如magento)
+ c% J. R) i, s0 t[ol]Userinfo包括活动用户和非活动用户(活动用户在其他五个表中至少创建了一个活动)。( F( A2 U' z7 W
我想用magento平台在userinfo这些用户在其他任何表中都记录了不同数量的用户。
- ~# l/ f F E1 n: N7 Q( F" k! x$ M现在,我可以用了ff代码在其他五个表中计算不同的用户数,但希望与之相比userinfo一起加表,这样我就可以选择有平台了magento活动用户。
1 d" W' v( K! D3 L# p, M( d* y如果不添加userinfo不能根据平台选择用户。
8 ]; D/ g5 q' A* h0 e仅使用magento平台在userinfo在表中选择用户很容易,但这意味着我可以选择只注册但不继续在我的应用程序中创建活动的用户。
2 k/ Z& M) p; I. L5 t; G $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] ."
2 m( R6 U4 O7 `1 t";Table 1
2 |: X) ^8 B0 X- X Id userid name adresss8 Y0 S' d& y) n" R3 g
Table 2" `/ B9 Y+ b) U4 Q
Id Title Sex userid
" n; i. P4 R* J8 Z: WTable 3
# o) h) w) B/ u# A. R8 M Q( P Id userid amount6 v' Y1 V3 _/ j. u( K- l6 p0 l
Table 4
f+ [6 E2 b6 s) D R Id price promotion userid productid L* \1 |$ e/ W: Q" d4 c' d, t7 M0 A
Table 5
' `/ Y' d& ]3 T4 b0 o" U Id userid category tax weight) p: N) M3 v# p8 {2 p$ G( d M! [
userinfo7 e5 n6 n# ^7 ^( x% ]6 f( X. o
Id userid username password platform
0 k) c- N8 n- \ s1 E d7 M4 x+ P) ?[/ol]
8 \5 u9 X' ^3 ?; g: x 解决方案: 9 i" w0 j" x- y, s
从我的其他建议UNION在选择中展开,您可以在表格中进行选择并获得不同的计数。JOIN``UserInfo
" E' Z* V" A, \2 T) h9 Z) w3 E. qSELECT COUNT (DISTINCT ui.UserID))FROM ( SELECT UserID FROM Table1 UNION SELECT UserID FROM Table2 UNION SELECT UserID FROM Table3 3 UNION SELECT UserID FROM Table4 UNION SELECT UserID FROM Table5 AS id INNER JOIN UserInfo ui ON ui.UserID = id.UserIDWHERE ui.Platform = 'Magento |
|
|
|
|
|