Skip to content

Latest commit

 

History

History
142 lines (78 loc) · 2.44 KB

File metadata and controls

142 lines (78 loc) · 2.44 KB

中文文档

Description

Table: Sales

+-------------+-------+

| Column Name | Type  |

+-------------+-------+

| sale_id     | int   |

| product_id  | int   |

| year        | int   |

| quantity    | int   |

| price       | int   |

+-------------+-------+

sale_id is the primary key of this table.

product_id is a foreign key to Product table.

Note that the price is per unit.

Table: Product

+--------------+---------+

| Column Name  | Type    |

+--------------+---------+

| product_id   | int     |

| product_name | varchar |

+--------------+---------+

product_id is the primary key of this table.

 

Write an SQL query that selects the product id, year, quantity, and price for the first year of every product sold.

The query result format is in the following example:

Sales table:

+---------+------------+------+----------+-------+

| sale_id | product_id | year | quantity | price |

+---------+------------+------+----------+-------+ 

| 1       | 100        | 2008 | 10       | 5000  |

| 2       | 100        | 2009 | 12       | 5000  |

| 7       | 200        | 2011 | 15       | 9000  |

+---------+------------+------+----------+-------+



Product table:

+------------+--------------+

| product_id | product_name |

+------------+--------------+

| 100        | Nokia        |

| 200        | Apple        |

| 300        | Samsung      |

+------------+--------------+



Result table:

+------------+------------+----------+-------+

| product_id | first_year | quantity | price |

+------------+------------+----------+-------+ 

| 100        | 2008       | 10       | 5000  |

| 200        | 2011       | 15       | 9000  |

+------------+------------+----------+-------+

Solutions

SQL

# Write your MySQL query statement below
SELECT
    product_id,
    year as first_year,
    quantity,
    price
FROM
    Sales
WHERE
    (product_id, year) IN (
        SELECT
            product_id, min(year) year
        FROM
            Sales
        GROUP BY product_id
    );