MySQL Forums
Forum List  »  German

Re: Nur einen von den doppelten aber nur der mit....(schwer zu erklähren)
Posted by: Thomas Wiedmann
Date: February 16, 2013 10:15AM

Hallo Thorsten,

hier mal eine Lösungsmöglichkeit, die aus zwei DELETE Kommando besteht, die bei Bedarf beide ausgeführt werden müssen.

/* Suchen der "guten" Datensätze */
SELECT best_of.*
  FROM (SELECT kennung, sub, MAX(length(text)) AS max_text_length
	  FROM test_pocsag
         GROUP BY kennung, sub
        ) best_of
	

/* Löschen 1 - Datensätze ohne Text */	
DELETE FROM test_pocsag
 WHERE length(text) = 0;

	
/* Löschen 2 - Löschen alle, die nicht in den "guten" Datensätzen sind */
DELETE FROM test_pocsag
 WHERE (kennung, sub, length(text))
        NOT IN ( SELECT best_of.kennung, sub, max_text_length
		   FROM (SELECT kennung, sub, MAX(length(text)) AS max_text_length
	                   FROM test_pocsag
                         GROUP BY kennung, sub
			) best_of	
	       )

Das Ergebnis habe ich nicht im Detail geprüft, dass überlasse ich Dir.

Grüße
Thomas

Options: ReplyQuote




Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.