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

MySQL - Làm thế nào để giới hạn một kết quả cho mỗi ID?

CREATE OR REPLACE VIEW employee_sales_totals AS
    SELECT
        e.*,
        SUM(p.total_sale_value)   AS total_sale_value
    FROM
        Employee e
    INNER JOIN
        Payment  p
            ON p.employee_number = e.employee_number 
    GROUP BY
        e.id  -- This should be the Primary Key / Surrogate Key of the employee table
;

CREATE OR REPLACE VIEW shop_top_employee_by_sales_value AS
    SELECT
        s.storename          AS "Store", 
        e.employee_name      AS "Employee", 
        m.employee_name      AS "Manager", 
        p.total_sale_value   AS "Sales Value" 
    FROM
    (
        SELECT storeid, MAX(total_sale_value) AS total_sale_value
          FROM employee_sales_totals
      GROUP BY storeid
    )
       p
    INNER JOIN
        employee_sales_totals   e
            ON  e.storeid          = p.storeid
            AND e.total_sale_value = p.total_sale_value
    INNER JOIN
        fss_Shop   s 
            ON s.storeid = e.storeid 
    INNER JOIN
        Employee   m
            ON m.employee_number = e.manager_number 
;

Theo câu trả lời cho câu hỏi trước của bạn, nếu nhiều nhân viên được ràng buộc với cùng một tổng số tiền bán hàng trong cùng một cửa hàng, tất cả những nhân viên đó sẽ được trả lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hệ thống đặt lại mật khẩu trong PHP

  2. Cách cài đặt MySQL 8 trên Ubuntu

  3. Quyền Laravel bị từ chối trên máy chủ Mysql từ xa (AWS aurora)

  4. COUNT (*) từ nhiều bảng trong MySQL

  5. Thay đổi mật khẩu mysql trong vùng chứa Docker