Ich habe es schwer zu versuchen, zu finden, ob ich das tun kann. Also, von einer Tabelle möchte ich GROUP BY nur verwenden, wenn der w.type ist "Objekt" das andere Objekt muss nicht gruppiert werden.MySQL-Gruppe nur wenn Bedingung
SELECT COUNT(*) as number, w.name, w.type
FROM storage AS s
LEFT JOIN weapon AS w ON w.id=s.weapon_id
WHERE s.owner_id = 'ID'
GROUP BY s.name
ORDER BY w.type
Wie Sie sehen können, diese Abfrage Gruppe von allem.
Ich versuchte mit UNION, aber es scheint kompromittiert, weil die doppelte Abfrage auf der gleichen Tabelle ist. Und ich habe nach Case gesucht, aber ich bin mir nicht sicher, wie ich es benutzen soll.
Danke fürs Lesen!
Bearbeiten: Dies ist für die Anzeige von Inventar im Spiel. Jeder Waffen-Buckler ist einzigartig, aber du kannst nur wenige verschiedene Waffen mit demselben Namen haben. Objekte haben diese Beschränkung nicht, ich brauche sie gruppieren nach und zeigen dem Spieler die Nummer des gleichen Gegenstandes.
Spieler werden sehen:
Spieler Inventar
- Waffe
Diamant Schwert, Iron Sword, Iron Sword
- Objekt
Apfel x2, Birne x3, Ei x1
Können Sie einige Beispieldaten gemeinsam nutzen und das Ergebnis, das Sie versuchen, dafür zu bekommen? Es würde die Frage viel klarer machen – Mureinik
Warum glauben Sie, UNIONing zwei Abfragen an der gleichen Tabelle "kompromittiert" die UNION-Abfrage? – Uueerdo
Ich aktualisiert, ist es genug zu verstehen? Entschuldigung, ich bin nicht so fließend – Mobidi