Mysql 获取没有计数的记录
我已经仔细研究了一下,但仍然有一个问题。下表结构如下: 工作 就业与应用Mysql 获取没有计数的记录,mysql,count,group-by,using,Mysql,Count,Group By,Using,我已经仔细研究了一下,但仍然有一个问题。下表结构如下: 工作 就业与应用 id | jobs_id | user_id | candidate_id | employer_id 我有这个疑问 SELECT ja.job_id, COUNT(*) AS count, j.title FROM job_applications AS ja LEFT JOIN jobs AS j ON ja.jobs_id = j.jobs_id GROUP BY ja.jobs_id 但它不会返回任何没有计数的
id | jobs_id | user_id | candidate_id | employer_id
我有这个疑问
SELECT ja.job_id, COUNT(*) AS count, j.title
FROM job_applications AS ja
LEFT JOIN jobs AS j
ON ja.jobs_id = j.jobs_id
GROUP BY ja.jobs_id
但它不会返回任何没有计数的作业,例如“0”。请问如何更改查询以显示这些内容?也许您应该使用
完全外部联接
而不是普通的联接
FULL OUTER JOIN
关键字返回两个表中的所有行
编辑:我搜索了一个MySQL备选方案:
没有时间测试它。我认为查询没有任何问题,只是它有一个额外的列标题,不在GROUPBY子句中
SELECT ja.job_id, COUNT(j.jobs_id) AS count
FROM job_applications AS ja
LEFT OUTER JOIN jobs AS j
ON ja.job_id = j.jobs_id
GROUP BY ja.job_id
此查询将返回job_applications表中的所有记录以及jobs count of jobs表bases of link。回答了我自己的问题。这个问题很好。删除标题后,一切都很好
谢谢您的时间。如果没有看到模式,很难回答。您的查询没有问题!!我认为您还犯了一些其他错误,看起来应该是这样的,尽管返回的j.title可能有一个无意义的值(它来自哪一行尚未确定)。基本模式现在已经存在。它只是没有显示任何零计数。Kickstart,我同意。这将被删除。因为您正在对作业应用程序进行分组。尝试在j.jobs上更改为右连接和分组。idmysql没有
完全外部连接
(SELECT ja.job_id, COUNT(*) AS count, j.title
FROM job_applications AS ja
LEFT JOIN jobs AS j
ON ja.job_id = j.jobs_id
GROUP BY ja.job_id)
UNION ALL
(SELECT ja.job_id, COUNT(*) AS count, j.title
FROM job_applications AS ja
RIGHT JOIN jobs AS j
ON ja.job_id = j.jobs_id
WHERE tbl1.col IS NULL
GROUP BY ja.job_id)
SELECT ja.job_id, COUNT(j.jobs_id) AS count
FROM job_applications AS ja
LEFT OUTER JOIN jobs AS j
ON ja.job_id = j.jobs_id
GROUP BY ja.job_id