Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL - Jak ograniczyć jeden wynik na 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 
;

Zgodnie z odpowiedzią na poprzednie pytanie, jeśli wielu pracowników jest związanych z tą samą całkowitą kwotą sprzedaży w tym samym sklepie, wszyscy tacy pracownicy zostaną zwróceni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wstawić czas 2009-09-22 18:09:37.881 w MYSQL Mój typ kolumny to DateTime

  2. zbiorczo wstawiaj wartości listy z SQLAlchemy Core

  3. Znaczenie n:m i 1:n w projekcie bazy danych

  4. określenie najczęściej używanego zestawu słów php mysql

  5. mysql w xampp uruchamia się i zatrzymuje za pięć sekund