我的用户提交位置信息。我正在尝试编写一个查询,告诉我他们为每个位置提交的提交数量以及该位置的名称。
此查询似乎是正确方向的开始。它返回用户提交信息的每个位置的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返回一次并获取其名称,依此类推)。
谢谢...
答案 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