我陷入了sql 的问题。我有一个包含许多重复条目的表,其列名称如下:-
eventnumber housenumber value1 value2
这些列名都不是主键,因为有很多重复项。我想做的是通过不同的门牌号选择另一个表,但我似乎复制了整个表,我正在使用:-
Select * into temp_table from schedule_temp where housenumber in (select distinct housenumerb from schedule_temp)
现在我把它分解了一下,如果我这样做的话:-
Select distinct housenumber into temp from schedule_temp group by housenumber
我得到一张包含唯一门牌号的表...但是我如何使用这个唯一的表来驱动另一个从 temp 中选择门牌号的选择,并且只从 Schedule_temp 中获取门牌号的一个实例?希望这是有道理的。
如果你能拯救我的理智,我就给你啤酒。
您不需要 DISTINCT 记录(例如,每条记录至少有一列与所有其他记录不同)。您希望从每组(或分区)记录中选出一个获胜者。
SELECT *
FROM
(
SELECT
EventNumber, HouseNumber, Value1, Value2,
ROW_NUMBER()
OVER(PARTITION BY HouseNumber ORDER BY HouseNumber) as rowNum
FROM ServiceAddr
) sub
WHERE sub.rowNum = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)