Filter unieke records (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 12: Regel 12:
 
</pre>
 
</pre>
  
== Voorbeeld ==
+
== Voorbeeld: Bijna goed en dus precies fout ==
  
 
Deze query kopiëert alleen de records die maar één keer voorkomen. Dat was achteraf gezien niet wat ik zocht: Ik wil alle records maar één keer overnemen!
 
Deze query kopiëert alleen de records die maar één keer voorkomen. Dat was achteraf gezien niet wat ik zocht: Ik wil alle records maar één keer overnemen!
Regel 29: Regel 29:
 
having teller = 1; -- 'where' werkt niet. 'having' wel
 
having teller = 1; -- 'where' werkt niet. 'having' wel
 
</pre>
 
</pre>
 +
[[Media:Voorbeeld.ogg]]
 +
 +
== DISTINCT ==
 +
 +
Met het keyword <code>distinct</code> kun je unieke waardes filteren. Het probleem is echter, dat je alleen maar die éne kolom kunt tonen (of zoiets). Dus net niet handig [http://stackoverflow.com/questions/8571902/mysql-select-only-unique-values-from-a-column]
  
 
== Bronnen ==
 
== Bronnen ==

Versie van 27 apr 2017 15:25

Wat bedoel je: Dubbelen uitfilteren, of unieke records uitfilteren?

Subtiel doch belangrijk verschil! Misschien bedoel ik Duplicate records (MySQL)?

Voorbeeld: Is dit wat je bedoelt?

Deze query selecteert alle records die meer dan één keer voorkomen: Dat is meestal niet wat ik zoek ;)

select sku, count(sku) from root
group by sku having count(sku)>1

Voorbeeld: Bijna goed en dus precies fout

Deze query kopiëert alleen de records die maar één keer voorkomen. Dat was achteraf gezien niet wat ik zocht: Ik wil alle records maar één keer overnemen!

drop table if exists tmp;

create table tmp
select 

	tool_id, 
	count(tool_id) as teller 

from main_tmp 
group by tool_id     	-- Om een of andere reden is 'group by' noodzakelijk
having teller = 1;	-- 'where' werkt niet. 'having' wel

Media:Voorbeeld.ogg

DISTINCT

Met het keyword distinct kun je unieke waardes filteren. Het probleem is echter, dat je alleen maar die éne kolom kunt tonen (of zoiets). Dus net niet handig [1]

Bronnen