php - MySQL 内部连接来自另一个表的计数

标签 php mysql

我正在尝试做一个 SELECT在 MySQL 中查询也会执行 count在另一个表中和 join答案变成了我的初始 table

表格people

编号 |姓名 |头发颜色 |职位编号

表格job

编号 |职位名称

SELECT * 
FROM job j
INNER JOIN (SELECT COUNT(job_id) AS totals
           FROM people p
           WHERE p.job_id='1')
     ON j.count = totals
WHERE id = '1'
ORDER BY id ASC

所以我试图从我的 job 中获取上述查询以进行选择表由 id并做一个 countpeople表并添加列 count到我的job结果。

最佳答案

您不必在子查询中进行计数:您可以直接选择计数然后分组依据。此外,您不必手动精确地确定 people job_id :JOIN 直接在两个表字段之间进行(最少)。

SELECT j.id, j.job_name, count(p.id) as nb_people
  FROM job j
       INNER JOIN people p ON p.job_id = j.id
 WHERE j.id = '1'
GROUP BY j.id, j.job_name
ORDER BY id ASC

查看 MySQL 聚合函数文档:http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html

也许再看看 JOIN 文档:http://dev.mysql.com/doc/refman/5.7/en/join.html

关于php - MySQL 内部连接来自另一个表的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557846/

相关文章:

mysql - 当插入给定行时,MariaDB 是否存储时间戳?

mysql - 有什么我可以做的优化此mysql查询吗?

mysql - 由于 MySQL 服务出错,Wamp Server 一直是橙色

php - htmlspecialchars 是否足以防止对用单引号引起来的变量进行 SQL 注入(inject)?

php - 查询结果显示间距

YII 中使用的 PHP 注解

php - CodeIgniter - 错误调用非对象上的成员函数 model()

单击后将 Javascript var 转换为 php

php - MySQL 数千次更新,速度变慢

php - 在 PHP MySQL 中计算考勤