【发布时间】:2013-08-09 02:33:00
【问题描述】:
我有一个名为 measures 的测量表。该表有一列表示位置,另一列表示对应的值(示例已简化)。
表格看起来像(注意 loc1 的 2 个条目):
location | value
-----------------
loc1 | value1
loc1 | value2
loc2 | value3
loc3 | value4
loc4 | value5
我现在想制定一个 SQL 查询(实际上我使用 sqlite),它只返回表的前两行(即 loc+value1 和 loc1+value2),因为这个位置在这个表中有多个条目。
伪文本公式是:显示位置的行,它们在整个表中出现多次
伪代码:
SELECT * from measures WHERE COUNT(location over the whole table) > 1
解决方案可能非常简单,但不知何故我似乎无法破解。
到目前为止,我有一个 SELECT 语句,它返回具有多个条目的位置。作为下一步,我将需要与此查询返回的位置相对应的所有行:
SELECT location FROM measures GROUP BY location HAVING count(*) > 1
所以下一步我尝试对同一个表进行 JOIN 并合并上述查询,但结果不正确。我试过这样,但这是错误的:
select t1.location, t1.value
from
measures as t1
join
measures as t2 on t1.location = t2.location
group by
t2.location
having count(*) > 1
感谢您的帮助!
【问题讨论】: