-------------------------------------------------- | UserID | Name | RefID | -------------------------------------------------- | 1 | xyz | 1 | | 2 | abc | 1 | | 3 | def | 1 | | 4 | gij | 2 | | 5 | jkl | 2 | | 6 | mno | 2 | --------------------------------------------------
$query = mysql_query("SELECT * FROM `users` WHERE UserID='$id' LIMIT 1 ");
$query_ref = mysql_query("SELECT COUNT(ref) FROM `users` WHERE RefID='$id'");
这两个查询可以合并到一个查询中吗?
答案 0 :(得分:1)
你在找这样的东西吗?
SELECT UserID, Name,
(
SELECT COUNT(RefID)
FROM users
WHERE RefID = u.UserID
) RefCount
FROM users u
WHERE UserID = ?
LIMIT 1
示例输出:
| USERID | NAME | REFCOUNT | |--------|------|----------| | 1 | xyz | 3 |
这是 SQLFiddle 演示
注意事项:使用Mysqli
或PDO
学习并使用prepared statements,而不是插入查询字符串。
答案 1 :(得分:0)
根据我的理解,您希望计算具有引用ID的用户数。我会用这种方式:
SELECT count(*) as "counted" FROM users WHERE RefID=1
这会让你想到你想要的数据。
此致