Holen Sie sich die Hersteller, die nur einen Produkttyp und mehr als ein Modell produzieren.Was ist los mit HAVING und GROUP BY in MySQL?
Falsche Antwort:
`SELECT` `DISTINCT` maker
from Product `GROUP BY` maker
`HAVING` (`COUNT`(`DISTINCT` TYPE) = 1 `AND` `COUNT`(`DISTINCT` model) > 1)
richtige Antwort:
`SELECT` `DISTINCT` maker, type
`from` Product
`WHERE` maker in (SELECT DISTINCT maker from Product
`GROUP BY` maker `HAVING` `COUNT`(`DISTINCT` TYPE) = 1 `AND` `COUNT`(model) > 1)
Kurze Beschreibung der Datenbank "Computerfirma":
Das Datenbank-Schema besteht aus vier Tabellen: Produkt (Hersteller, Modell, Typ) PC (code, modell, geschwindigkeit, ram, hd, cd, preis) Laptop (code, modell, geschwindigkeit, ram, hd, bildschirm, preis) Drucker (code, modell, farbe, typ, preis) Das Produkt Die Tabelle enthält Daten zum Hersteller, zur Modellnummer und zum Produkttyp ("PC", "Laptop" oder "Drucker"). Es wird davon ausgegangen, dass die Modellnummern in der Produkttabelle für alle Hersteller und Produkttypen eindeutig sind. Jeder PC in der PC-Tabelle ist eindeutig durch einen eindeutigen Code identifiziert und wird zusätzlich durch sein Modell (Fremdschlüssel bezieht sich auf die Produkttabelle), Prozessorgeschwindigkeit (in MHz) - Geschwindigkeitsfeld, RAM-Kapazität (in MB) - RAM gekennzeichnet , Festplattenkapazität (in Gb) - hd, CD-ROM-Geschwindigkeit (z. B. "4x") - CD und dessen Preis. Der Laptop-Tisch ist dem PC-Tisch ähnlich, außer dass er anstelle der CD-ROM-Geschwindigkeit die Bildschirmgröße (in Zoll) - Bildschirm enthält. Für jedes Druckermodell in der Tabelle "Drucker" wird der Ausgabetyp ("y" für Farbe und "n" für Schwarzweiß) - Farbfeld, Drucktechnologie ("Laser", "Jet" oder "Matrix") - Typ und Preis angegeben sind angegeben.
Viel Glück bei Ihren Hausaufgaben! Bitte zögern Sie nicht und sagen Sie uns, ob Sie es geschafft haben! –
Lustig, dass die "richtige" Antwort auch falsch ist ... 'SELECT DISTINCT Maker, Typ ...... GROUP BY maker ....' Typ ist nicht in der GROUP BY genannt -> lesen https: // www .psce.com/blog/2012/05/15/mysql-errors-do-you-use-group-by-korrekt/ –