php - 如何在一个 PHP 查询中使用 2 个 MySQL SELECT 语句

标签 php mysql sql

请帮我弄清楚如何将以下两个语句放入一个查询中。非常感谢您的帮助。

$sql1 = 'SELECT COUNT(id) as total_cat_votes FROM votes WHERE category_id="1"';
$sql2 = 'SELECT COUNT(nominee_id') as total_nom_votes FROM votes WHERE category_id="1" AND nominee_id="16"';

我的想法是我有一个名为 votes 的表,我想获得 category_id 下特定类别的总票数以及不同的总票数nominee_id 下的每个被提名人​​。我希望我已经足够清楚了。

感谢您的帮助!

最佳答案

使用 SUM() 进行带条件的第二次计数,使用带条件的 sum 将导致 boolean 为 0 或 1 ,同样使用聚合函数而不对它们进行分组将导致单行

SELECT COUNT(id) as total_cat_votes,
SUM(nominee_id='16') as total_nom_votes
FROM votes 
WHERE category_id='1'

关于php - 如何在一个 PHP 查询中使用 2 个 MySQL SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22223052/

相关文章:

php - 理解 magento 中的布局

java - 使网站适应iphone

mysql - 选择 JSON 键值数组中键所在的所有行

SQL 处理顺序

sql - 如何使用条件从组中选择行

php - Codeigniter 创建 session 和重定向在 IE 中不起作用

php - 将数组中的 mySQL 结果加载到数组中

PHP、MySQL 日期计算

mysql - SQL上INNER JOIN四表建表报错

mysql - 根据以前的销售预测库存消耗率