目录

面试题sql题一

目录

面试题:sql题一

SELECT
    p.product_id,                 -- 产品ID
    p.product_name,               -- 产品名称
    SUM(s.sale_qty * s.unit_price) AS sum_price,  -- 年销售总价
    YEAR(s.sale_date) AS year_date                -- 销售年份
FROM 
    products p
JOIN sales s ON p.product_id = s.product_id
GROUP BY
    p.product_id,
    p.product_name,
    YEAR(s.sale_date)
HAVING
    SUM(s.sale_qty * s.unit_price) > 1000         -- 年总价大于1000
ORDER BY
    sum_price DESC;                               -- 按总价降序排列

表结构示例:

products(产品表)

字段名类型说明
product_idINT产品ID
product_nameVARCHAR产品名称

sales(销量表)

字段名类型说明
sale_idINT销售记录ID
product_idINT产品ID
sale_qtyINT销量
unit_priceDECIMAL单价
sale_dateDATE销售日期

查询说明:

  • 本查询用于统计每个产品每年销量总价大于1000元的销售情况,并按总价从高到低排序。