Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 09:34

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MySQL Doppelte einträge

Discussion on MySQL Doppelte einträge within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
qooc's Avatar
 
elite*gold: 0
Join Date: Apr 2014
Posts: 38
Received Thanks: 2
MySQL Doppelte einträge

Hallo,

wie kann man Doppelte einträge nur einmal ausgeben?

Also ich habe in der Tabelle ' Test ' die Spalten ID und UNIQE_ID.

ID ist auf Primärschlüssel gesetzt und UNIQE_ID kommt doppelt vor
z.B:

PHP Code:
+----+-----------+
id UNIQE_ID 
+----+-----------+
|  
|     iHfv     |
|  
|     iHfv     |
|  
|     iHfv     |
|  
|     p0K2  |
|  
|     4mL2  |
|  
|     4mL2  |
+----+-----------+ 
Wie kann ich nun nur die NICHT doppelten Uniqe IDs auslesen also so:
PHP Code:
|  |     iHfv     |
|  
|     p0K2  |
|  
|     4mL2  
Hoffe mir wird hier geholfen.
qooc is offline  
Old 02/28/2016, 15:04   #2


 
Kentika's Avatar
 
elite*gold: 0
The Black Market: 120/0/0
Join Date: Sep 2011
Posts: 5,498
Received Thanks: 1,114
Kentika is offline  
Old 02/28/2016, 15:04   #3
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by qooc View Post
Hallo,

wie kann man Doppelte einträge nur einmal ausgeben?

Also ich habe in der Tabelle ' Test ' die Spalten ID und UNIQE_ID.

ID ist auf Primärschlüssel gesetzt und UNIQE_ID kommt doppelt vor
z.B:

PHP Code:
+----+-----------+
id UNIQE_ID 
+----+-----------+
|  
|     iHfv     |
|  
|     iHfv     |
|  
|     iHfv     |
|  
|     p0K2  |
|  
|     4mL2  |
|  
|     4mL2  |
+----+-----------+ 
Wie kann ich nun nur die NICHT doppelten Uniqe IDs auslesen also so:
PHP Code:
|  |     iHfv     |
|  
|     p0K2  |
|  
|     4mL2  
Hoffe mir wird hier geholfen.
Schau mal "distinct" an:
Quote:
SELECT DISTINCT column_name,column_name
FROM table_name
Shadow992 is offline  
Old 02/28/2016, 15:11   #4
 
qooc's Avatar
 
elite*gold: 0
Join Date: Apr 2014
Posts: 38
Received Thanks: 2
Danke für eure Antoworten.

Ich habe auch noch eine andere Lösung gefunden und zwar GROUP BY
meine Frage nun was ist besser?

GROUP BY oder DISTINCT ?
qooc is offline  
Old 02/28/2016, 18:01   #5
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by qooc View Post
Danke für eure Antoworten.

Ich habe auch noch eine andere Lösung gefunden und zwar GROUP BY
meine Frage nun was ist besser?

GROUP BY oder DISTINCT ?
Ich antworte nur vom Handy, daher kann ich nicht groß Bilder machen.
Aber vielleicht reicht eine Erklärung:

Prinzipiell ist Group By und Distinct erst einmal nicht vergleichbar, da sie total unterschiedliche Ergebnisse (intern in MySql) erzeugen. Da man aber normalerweise die Ergebnisse wie sie bei einem Group By entstehen nicht verwenden/darstellen kann, werden sie so umgeändert, dass es so aussieht als wäre Group By und Distinct dasselbe.

Ganzgrob (ohne auf exakte Details zu achte) funktioniert Group By so:
Der Befehl "gruppiert" alle Einträge in der Tabelle zu (mal ganz vereinfacht gesagt) neuen Tabellen. Das heißt jede neue Tabelle, die erstellt wird beinhaltet dann alle dieselben Werte, die bei dem Group By Attribut angegegben wurden.

Stell dir das an Hand dieser Tabelle vor:
Quote:
Id | Geburtsort
0 | München
1 | Berlin
2 | Köln
3 | Berlin
Ein "Group by Geburtsort" würde jetzt erst einmal folgende 3 Tabellen (intern) erzeugen:

Tabelle 1:
Quote:
Id | Geburtsort
0 | München
Tabelle 2:
Quote:
Id | Geburtsort
1 | Berlin
3 | Berlin
Tabelle 3:
Quote:
Id | Geburtsort
2 | Köln
Das heißt intern würdest du damit 3 Tabellen erzeugen und könntest mit "Having" jetzt Anfrage an die jeweils gruppierten Tabellen stellen. Willst du jetzt jedoch die Ergebnisse der Abfrage von SQL nach z.B. PHP bringen muss sich MySql eine Lösungsstrategie überlegen, immerhin kann man nicht einfach so mehrere Tabellen übergeben (und theoretisch ist das so auch nicht im Standard definiert).

Also entweder:
1. Group By ignorieren und alles zurückgeben oder
2. Immer nur das erste Element der Tabelle returnen

Beides hat Vor- und Nachteile intuitiver dürfte aber Lösung 2 sein, weil man Lösung 1 auch ohne Group By erreichen kann. Daher ist die Konvertierung in Lösung 2 logischer und auch implementiert.

Distinct hingegen geht alle Daten durch und nimmt immer nur den ersten Datensatz raus, wenn es mehrere gleiche gibt.

Die Wege sind also unterschiedlich, aber das Ergebnis (in PHP) ist dasselbe. Dennoch ist offensichtlich "Distinct" schneller und standardkonform, daher solltest du Distinct benutzen.
Shadow992 is offline  
Thanks
1 User
Old 03/01/2016, 11:28   #6

 
Aeh''s Avatar
 
elite*gold: 2
Join Date: May 2007
Posts: 3,642
Received Thanks: 432
Würde behaupten DISTINCT ist schneller.
Aeh' is offline  
Reply


Similar Threads Similar Threads
Doppelte einträge - checker ?
04/08/2015 - Off Topic - 4 Replies
Hallo, Ich bin momentan auf der suche nach etwas das, doppelte Einträge entfernt. Z.B. : 185.14.192.121:8085 191.101.54.14:8085 5.189.207.184:8085 185.14.192.121:8085
[PHP/MySQl]Mehrere Einträge anzeigen
03/23/2013 - Web Development - 9 Replies
Hallo, ich habe in meinem PHP-Script folgenden Code: $result = mysql_query("SELECT title,id,text,date FROM news WHERE `check` = 1") or die("<b>Error (3):</b> ". mysql_error()); $row = mysql_fetch_row($result); und die andere wichtige (denke ich mal) Stelle: <?php if (mysql_num_rows($result)) { echo '<div class="news_box">';
[S] [SCHNELL] MYSQL Einträge Multiplizieren [B] 26 E*Gold
10/25/2012 - Web Development - 9 Replies
Huhu ich habe eine DB die einträge hat die eig immer Gleich bleiben sollen nur die ID soll sich verändern... Es gibt die Spalten: ID Product Data stat user_id date
Doppelte Einträge in der Item Proto schneller finden?
10/30/2011 - Metin2 Private Server - 12 Replies
Hey gibt es ein programm oder ne möglichkeit schneller doppelte einträge in der item proto serverside zufinden,ich habe mir mal meine proto angeschaut das einge einträge doppelt sind,nich von der vnum sondern von namen und bei knapp 5500 einträgen kann es sehr mühsam sein alles zu durchsuchen MFG



All times are GMT +1. The time now is 09:34.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.