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

SQL tương đương với 'biến đổi' của gấu trúc là gì?

Bạn có thể tham gia vào một bảng dẫn xuất có chứa giá trị tổng hợp cho mỗi nhóm b

select * from mytable t1
join (
    select avg(a), b
    from mytable
    group by b
) t2 on t2.b = t1.b

hoặc sử dụng truy vấn con

select *, (select avg(a) from mytable t2 where t2.b = t1.b)
from mytable t1

câu hỏi được gắn thẻ cả mysql và psql, vì vậy tôi không chắc bạn đang sử dụng db nào. Nhưng trên postgres, bạn có thể sử dụng các chức năng cửa sổ

select *, avg(a) over (partition by b) 
from mytable



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thêm nhận xét trong MySQL?

  2. Tìm kiếm văn bản trên nhiều trường MySQL

  3. Tham gia hai bảng trong Php

  4. không thể chèn văn bản tiếng Nga vào cơ sở dữ liệu mysql

  5. Sửa các bảng mã