Inner Join-Tabelle in Bezug auf einen Maximalwert
Ich versuche, eine MySQL-Abfrage zu schreiben, in der ich die Informationen eines Verkäufers und sein beliebtestes Produkt abrufe. Dies wird durch das Produkt mit den meisten Seitenaufrufen bestimmt, d. H.MAX(page_views)
.
Die folgende Abfrage bezieht sich jedoch nur auf ein zufälliges Produkt und nicht auf das mit den meisten Seitenaufrufen.
"SELECT
seller.id, seller.language, seller.shop_name,seller.story,
seller.eng_story, product.id, product.image_thumb, product.title,
product.eng_title, product.price, MAX(product.page_views)
FROM seller
INNER JOIN product ON seller.id=product.seller_id
WHERE seller.handpicked='y' AND seller.shop_active='y'
GROUP BY seller.id
ORDER BY product.page_views
LIMIT 0,5"
Oder besser gesagt:page_views
ist zwar die richtige nummer, aber wie bekomme ich die andereProduktfelder (ID, Bild, Titel usw.), um in Bezug auf das Produkt mit den meisten Seitenaufrufen zu sein.
TABELLENDATEN:
VERKÄUFER:
id | language | shop_Name | story | eng_story | handpicked | active
1 | 1 | mitienda | hola mundo| Hello world | Y | Y
2 | 1 | sisenor | bonita | beautiful | N | Y
3 | 2 | new_world | mi vida | my life | Y | Y
PRODUKTE:
id | seller_id | image_thumb | title | eng_title | price | page Views
1 | 1 | /images/.. | sombrero | hat | $5 | 10
2 | 1 | /images/.. | bufanda | scarf | $25 | 30
3 | 2 | /images/.. | arte | art | $15 | 15
4 | 3 | /images/.. | joyeria | jewlery | $10 | 1
5 | 2 | /images/.. | canasta | basket | $21 | 13
6 | 3 | /images/.. | ropa | clothes | $13 | 6
Erwartetes Ergebnis (verkürzt):
seller.id | shop_name | product.id | pageviews | title | price
1 | miteinda | 2 | 30 | bufanda | $25
3 | newworld | 6 | 6 | ropa | $13
Das Ergebnis sollte Verkäuferinformationen, die handverlesen wurden, und deren beliebtestes Produkt nach Seitenaufrufen auflisten. Die Verkäufer werden nach Seitenaufrufen mit einem Limit von insgesamt 5 Verkäufern sortiert.