我有两个表l & C由两个字段l.mIDc.mID链接。在我的查询中,c表包含三种类型的记录cs, ls, & vs我需要从l中选择所有记录,作为查询的一部分,有三列显示cs, ls & vs的总计;
到目前为止,我使用的是外部连接:

SELECT l.*, COUNT(*) FROM l LEFT OUTER JOIN c ON c.mID = l.mID WHERE l.mID = 2

但这只是附加一个完整的专栏,任何帮助都将是伟大的谢谢。

最佳答案

您可以在您的计数中使用CASE语句:

select
  l.*
  ,COUNT(CASE WHEN c.type = 'cs' then 1 END) as cscount
  ,COUNT(CASE WHEN c.type = 'ls' then 1 END) as lscount
  ,COUNT(CASE WHEN c.type = 'vs' then 1 END) as vscount
from l
left outer join c on c.mID = l.mID
where l.mID = 2

关于mysql - MySQL查询列中的计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11633856/

10-13 02:12