我有一個select語句返回表中的重複項。我現在想要刪除這些重複項。我怎樣才能用ORACLE SQL做到這一點?如何將它轉換爲ORACLE中的DELETE語句?
SELECT
c1.name AS c1name,
c2.name AS c2name,
c1.cy_code AS c1country,
c2.cy_code AS c2country,
c1.latitude AS c1lat,
c1.longitude AS c1long,
c2.latitude AS c2lat,
c2.longitude AS c2long,
calc_distance(c1.latitude,
c1.longitude,
c2.latitude,
c2.longitude) AS distance
FROM city_temp c1,
city_temp c2
WHERE c2.name = c1.name
AND c2.cy_code = c1.cy_code
AND calc_distance(c1.latitude, c1.longitude, c2.latitude, c2.longitude) = 0
AND c1.latitude = c2.latitude
AND c1.longitude = c2.longitude;
只是一句話:鑑於你限制c1.latitude = c2.latitude和c1.longitude = c2.longitude,不是calc_distance(c1.latitude,c1.longitude,c2.latitude,c2.longitude)始終爲零然後? –
好點子! –
此外,該表只有大約8000行,但是當我執行搜索時,它給了我超過10,000行。爲什麼是這樣的,我該如何解決這個問題? –