我的数据库中有一个jobs
表。
工作所属行业
工作所属行业
工作所属地区
我想从表中选择工作并按date_published
字段对where
应用不同条件的另一组工作进行分组(计数)。
例如,我想选择 2012 年 1 月 1 日之后发布的工作,按月/年对它们进行分组以获取月度统计数据,并将总和与在 where 条件中指定了职业 ID 的另一组工作进行比较:
SELECT count(jobs.id),
count(jobs2.id),
DATE(jobs.date_published)
FROM jobs, jobs jobs2
WHERE jobs.date_published > '2010-01-01'
AND jobs.date_published = jobs2.date_published,
AND jobs2.profession_id IN (1, 2, 3)
GROUP BY
MONTH(jobs.date_published),
YEAR(jobs.date_published)
ORDER BY
YEAR(jobs.date_published) DESC,
MONTH(jobs.date_published) DESC
但是上面的例子是错误的,因为它导致服务器没有响应并处理无穷大的查询。我该如何解决?
我相信这与jobs.date_published = jobs2.date_published
声明有关。系统中有许多工作具有相同的date_published
日期。