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

Làm cách nào để kết hợp tất cả truy vấn SQL-SQLite theo câu lệnh trường hợp?

Đầu tiên, bạn phải lấy tổng điểm của từng người chơi và sau đó tham gia với players .
Sau đó, sử dụng hàm cửa sổ FIRST_VALUE () để lấy trình phát hàng đầu của mỗi nhóm:

SELECT DISTINCT p.group_id, 
       FIRST_VALUE(p.player_id) OVER (PARTITION BY p.group_id ORDER BY m.score DESC) winner_id
FROM players p
LEFT JOIN (
  SELECT player, SUM(score) score
  FROM (
    SELECT match_id, first_player player, first_score score FROM matches
    UNION ALL
    SELECT match_id, second_player, second_score FROM matches
  ) t
  GROUP BY player
) m ON m.player = p.player_id  

Xem bản trình diễn .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phòng ngừa tốt từ tiêm MYSQL?

  2. Thay đổi hành vi Session.delete () của SQLAlchemy

  3. Cx-Freeze:Showwarning AttributeError:Đối tượng 'NoneType' không có thuộc tính 'write'

  4. Làm cách nào để triển khai chính xác truy vấn mySQL này vào tệp PHP và hiển thị kết quả?

  5. Lấy id bản ghi được chèn cuối cùng của bảng cơ sở dữ liệu trong java?