2014-11-21 28 views
0

以下SQL语句将所需记录带出数据库。另外,我想获得这些“分组”记录的ID。我怎样才能结合这个查询与另一个获得所需的ID?SQL工作选择与组通过 - 如何获得找到的记录的ID?

我的表格包含lat和lng的设施,其中一些位于相同的位置。我通过查询得到它们如下:

SELECT count(*) FROM facilities 
GROUP BY lat, lng having count(*) > 1 

如何获得facilities.id这些记录?

+0

如果您正在寻找重复(这听起来像你),这可能帮助:http://stackoverflow.com/questions/6779607/sql-query-to-find-重复记录 – 2014-11-21 16:26:46

回答

3

您可以使用分组查询(略有修改),以获得latlng你有兴趣,然后再加入这些结果反馈给facilities表来获取其他数据 - 在这种情况下id ..

喜欢的东西:

SELECT a.lat, a.lng, a.locationCount, b.id 
FROM (SELECT lat, lng, count(*) locationCount 
     FROM facilities 
     GROUP BY lat, lng 
     HAVING count(*) > 1) a 
INNER JOIN facilities b on a.lat = b.lat and a.lng = b.lng 
+0

谢谢。按需要工作! – metaxos 2014-11-24 08:33:40