Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

tính toán xếp hạng trung bình trong máy chủ sql

Tại đây, hãy thử cái này:

DỮ LIỆU MẪU

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);

GIẢI PHÁP

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thêm cột có giá trị mặc định vào bảng hiện có trong SQL Server

  2. Giao diện mạng SQL Server:Chuỗi kết nối không hợp lệ [87]

  3. Cập nhật một hàng đơn với t-sql

  4. Truy vấn SQL nhiều cột chỉ sử dụng phân biệt trên một cột

  5. LINQ2SQL - Kết nối chéo được phát ra khi tôi muốn tham gia bên trong