这是基本的,但我无法弄清楚。我有两个表(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
<? } ?>
答案 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;