sql >> Databáze >  >> RDS >> Sqlserver

vypočítat průměrné hodnocení na serveru SQL

Zde zkuste toto:

VZOROVÉ DATA

create table UserDetails(
    Id int,
    ServiceDescription varchar(20),
    Skills varchar(20)
)
create table Review(
    Id int,
    CustomerId int,
    VendorId int,
    Rating int
)

insert into UserDetails values(1, 'Plaster', 'plaster'),(2, 'construction', 'construction'),(3, 'plaster', 'plaster');
insert into Review values(1, 4, 1, 3),(2, 5, 1, 3);

ŘEŠENÍ

select
    u.Id as VendorId,
    u.ServiceDescription,
    u.Skills,
    isnull(sum(r.rating)/count(r.rating), 0) as AverageRating
from UserDetails u
left join Review r
    on r.VendorId = u.id
where
    u.ServiceDescription like '%plaster%'
    or u.Skills like '%plaster%'
group by 
    u.Id,
    u.ServiceDescription,
    u.Skills
order by AverageRating desc


  1. Použití 'end' jako názvu sloupce v Ruby on Rails (MySQL)

  2. Můžete v MySQL rozdělit jeden alias druhým?

  3. Několik způsobů, jak vložit rozdělené řetězce s oddělovači do sloupce

  4. Vysvětlení operátora Oracle MINUS