Bir veritabanından ortalama derece dönen (SQL)

0 Cevap php

Ben kullanıcı ben şu anda iki tablo var resim / video / ses vb değerlendirebilecekleri bir değerlendirme sistemi oluşturmak için çalışıyorum

Table: products
Cols:  product_id[PK] | name | category | type | link

Bu ürünler tablo ve ürünler hakkında bilgi içerir. Eğer ürün ile karıştı ediyorsanız, görüntü / ses / video, bana daha kolay anlamak için izin için sadece bu gibi adlandırılmış olarak "ürün" düşünüyorum. İkinci tablo derecelendirme olduğunu

Table: product_ratings
Cols:  rating_id[PK] | rating | product_id | timestamp

Değerlendirmesi kullanıcı hakkında Bu tablo bilgi depolar verdi.

Ben bütün "ürünler" için (ortalama) en yüksek derece görüntüleyen bir sayfa istiyorum. Şimdiye kadar, ben SA baktım, ve kod takip parça bulduk:

SELECT
p.product_id, p.name,
AVG(pr.rating) AS rating_average
FROM products p
INNER JOIN product_ratings pr
ON pr.product_id = p.product_id
WHERE p.product_id = 1

Bu sadece belirli bir product_id için ortalama notunu verir, nasıl TÜM product_ids ve ortalama puanı alma hakkında gitmek ve nasıl PHP ile yüksek olanı bulmak istiyorsunuz?

Ben denedim:

WHERE p.product_id < 1 AND p.product_id < 30

Ama bu sadece ben anlamıyorum ki, bu adı ve AVERAGE_RATING ile, 2 PRODUCT_ID döndürür.

Malzeme Rehberlik / bağlantılar açıktır

0 Cevap