php - 带有 COUNT 别名的 MySQL UNION

标签 php mysql count union

我试图从两个单独的表中检索两个计数到一个 SQL 查询中以与 PHP 一起使用。这是当前的 SQl 查询:

SELECT COUNT(entryid) AS total FROM rh_entries UNION SELECT COUNT(pentryid) AS attended FROM rh_playerentries WHERE playerid=79

这是我用来利用数据的 PHP: $result = mysql_query($query);

$attendance = mysql_fetch_assoc($result);
echo "Total: " . $attendance['total'] 
 . " Attended: " . $attendance['attended'] 
 . " Percentage: " 
 . (int)$attendance['total'] / (int)$attendance['attended'] 
 . " <br />";

我得到这个输出:

Warning: Division by zero in /home/content/g/V/i/gViscardi/html/guilds/sanctum/raidinfo/player.php on line 41
Total: 6 Attended: Percentage: 

显然 $attendance['attended'] 设置不正确。我是否缺少有关 UNION、COUNT 或 AS 工作原理的信息?

最佳答案

联合将两个查询的内容合并到一个表中。您的查询具有不同的列名,因此合并将无法正常进行。你会想要这样的东西:

SELECT 
    (SELECT COUNT(entryid) FROM rh_entries) as total, 
    (SELECT COUNT(pentryid) FROM rh_playerentries WHERE playerid=79) as attended;

关于php - 带有 COUNT 别名的 MySQL UNION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3330376/

相关文章:

php - 无法使用 file_get_contents ('php://input' 检索原始发布数据)

javascript - 单击浏览器的后退按钮时如何销毁 session

c# - 将datagridview保存到mysql

mysql - 如何在innodb中实现隐式行级锁定?

sql - 你如何确定Postgresql中一列的平均总数?

javascript - 问 : PHP Multiple Modal in a button of while loop

php - 当PHP出现解析错误时,如何运行自定义函数/部分代码

mysql - 数据库触发器从其他表插入

python - 如何在Python中查找特定条件的出现频率

mysql - 进行更高效的 COUNT