Mysql 如何根据不同的ID从同一个表中获取公共记录?
我的数据库中有一个mysql表,如下所示Mysql 如何根据不同的ID从同一个表中获取公共记录?,mysql,sql,Mysql,Sql,我的数据库中有一个mysql表,如下所示 company_id | bill_month | 134 |Apr 134 |May 134 |Jun 134 |Jul 134 |Aug2k19 134 |Sep2k19 391 |Aug2k19 391 |Sep2k19 现在我想要的是获取所有公司共有的月份,我想要的结果如下所示 bill_months| Aug2
company_id | bill_month |
134 |Apr
134 |May
134 |Jun
134 |Jul
134 |Aug2k19
134 |Sep2k19
391 |Aug2k19
391 |Sep2k19
现在我想要的是获取所有公司共有的月份,我想要的结果如下所示
bill_months|
Aug2k19 |
Sep2k19 |
我尝试在下面的查询中使用self-join
SELECT DISTINCT a.bill_month FROM bf_monthly_bill AS a INNER JOIN bf_monthly_bill AS b
on a.bill_month=b.bill_month WHERE a.company_id IN('134','391')
您可以按账单月分组,并在HAVING子句中设置条件:
SELECT bill_month
FROM bf_monthly_bill
WHERE company_id IN ('134','391')
GROUP BY bill_month
HAVING COUNT(DISTINCT company_id) = 2
您可以按账单月分组,并在HAVING子句中设置条件:
SELECT bill_month
FROM bf_monthly_bill
WHERE company_id IN ('134','391')
GROUP BY bill_month
HAVING COUNT(DISTINCT company_id) = 2
所有公司?或者具体的公司?具体来说,b能否至少有两个或两个以上的所有公司?或者具体的公司?具体来说,b可以至少两个或两个以上吗