一个查询,告知每个位置的提交数量以及位置的名称

时间:2011-11-13 23:06:57

标签: mysql

我的用户提交位置信息。我正在尝试编写一个查询,告诉我他们为每个位置提交的提交数量以及该位置的名称。

此查询似乎是正确方向的开始。它返回用户提交信息的每个位置的ID。

SELECT reports.location_id
FROM reports
WHERE reports.user_id =104
ORDER BY reports.locations_id

此查询返回的示例是:

locations_id
99
99
99
112
115
115

我的最终html输出;但是,我想展示更多内容:

   location_name  number_of_submits
    name_1        3
    name_2        1
    name_3        2

我可以使用mysql查询来获取此信息吗?或者我是否需要使用php来迭代我的查询结果(即识别99返回3次并从位置表中获取99的名称,然后识别112返回一次并获取其名称,依此类推)。

谢谢...

1 个答案:

答案 0 :(得分:1)

使用GROUP BY / COUNT:

SELECT
    location_name,
    COUNT(*) AS number_of_submits
FROM reports
JOIN markers ON markers.id = reports.location_id
WHERE reports.user_id = 104
GROUP BY reports.location_id