计算第二个表中与第一个表中的id匹配的条目

时间:2014-08-11 20:58:01

标签: php sql join count

这是基本的,但我无法弄清楚。我有两个表(SeriesTable和OtherTable)。 SeriesTable包含给定系列的所有信息,包括其id(名为" seriesid"的列)。而OtherTable有一个名为" seriescolumn"它也有给定系列的ID。

我需要创建一个查询,计算OtherTable" seriescolumn"中的每个条目。与SeriesTable中的seriesid列匹配。因此,例如,如果SeriesTable中的seriesid是5,我需要计算OtherTable中有多少条目在系列列中的值为5。

下面是我当前的代码,它只是从第一个表中获取信息,但我不知道如何正确计算来自OtherTable的匹配条目。

    <?
    $rs= mysql_query("SELECT seriesid FROM SeriesTable ORDER BY seriesid DESC");
    while ($row= mysql_fetch_array($rs)) { ?>

    content

    <? } ?>

3 个答案:

答案 0 :(得分:2)

听起来你需要一个join和group by语句。

SELECT  s.seriesid, Count(*) As NumberOfSeries
FROM    SeriesTable s Join
        OtherTable o On s.seriesid = o.seriescolumn
Group By s.seriesid
ORDER BY seriesid DESC

这应该返回每个seriesid以及重复的次数。

答案 1 :(得分:0)

可能最简单的方法是在一个大的SQL查询中使用count语句。

你可以使用GROUP BY子句按照你想要的方式对结果进行分组,给出以下内容:

SELECT seriesid, COUNT(*) FROM SeriesTable, OtherTable 
WHERE seriescolumn=seriesid GROUP BY seriesid

答案 2 :(得分:0)

SELECT seriesid, COUNT(seriescolumn)
FROM SeriesTable, OtherTable 
WHERE OtherTable.seriescolumn = SeriesTable.seriesid
GROUP BY seriesid;