Ich habe ein bisschen komplexe MySQL-Abfrage für mich und ich kann nicht herausfinden, wie man es schreibt, ohne tonnenweise Speicher zu essen. (Ich habe nichts dagegen nicht wirklich, wenn es würde)Distinct & Group SQL Query
Ich habe die folgende Tabelle:
TABLE: users(id,ip)
------------------------------------
4BF1510 | 40.145.10.99 <-- SAME IP (A)
SAME ID --> 510SD55 | 65.12.105.42
SAME ID --> 510SD55 | 45.184.15.10
201505V | 40.145.10.99 <-- SAME IP (A)
984AZ6C | 72.98.45.76
| 10.15.78.10 <-- SAME IP (B)
| 10.15.78.10 <-- SAME IP (B)
SAME ID --> B1D56SX |
SAME ID --> B1D56SX |
Ich mag eine Abfrage, die nur fetchs 1 Artikel pro einem eindeutigen ID oder ip, also:
4BF1510 | 40.145.10.99
510SD55 | 65.12.105.42
984AZ6C | 72.98.45.76
| 10.15.78.10
B1D56SX |
die wichtigsten Dinge:
- Wenn mehrere Einträge die gleiche IP und gleiche ID haben -> werden sie 01 gruppiert werden
- Wenn mehrere Einträge haben die gleiche IP, aber unterschiedlichen IDs -> sie werden nicht
- Wenn mehrere Einträge haben die gleiche ID, aber unterschiedliche IP-Adressen gruppiert werden -> sie werden
- Wenn mehrere Einträge die gleiche IP gruppiert werden aber leer ID-Felder -> werden sie
- Wenn mehrere Einträge die gleiche ID aber leer IP Felder gruppiert werden -> sie werden
gruppiert werden, was bedeutet, dass die ID sollte die erste Priorität des Vertrauens, weil mehrere u sers können die gleiche IP verwenden.
Jeder effektive Weg, um das zu erreichen?
Tonnen des Dankes.
Was die Schlüssel zu dieser Tabelle sind ? Ich bin verwirrt, wie Sie zwei verschiedene Einträge haben können, beide ohne ID und die gleiche IP. – eykanal
Es gibt keine Schlüssel @eykanal – Ryan
Ich vermute, dass Ihr Schema geändert werden muss. Vielleicht sollte IP in einer anderen Tabelle sein, die durch einen Primärschlüssel verbunden ist. – rook