面试题:sql题一
SELECTp.product_id, -- 产品IDp.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 BYp.product_id,p.product_name,YEAR(s.sale_date)
HAVINGSUM(s.sale_qty * s.unit_price) > 1000 -- 年总价大于1000
ORDER BYsum_price DESC; -- 按总价降序排列
表结构示例:
products(产品表)
字段名 | 类型 | 说明 |
---|---|---|
product_id | INT | 产品ID |
product_name | VARCHAR | 产品名称 |
sales(销量表)
字段名 | 类型 | 说明 |
---|---|---|
sale_id | INT | 销售记录ID |
product_id | INT | 产品ID |
sale_qty | INT | 销量 |
unit_price | DECIMAL | 单价 |
sale_date | DATE | 销售日期 |
查询说明:
- 本查询用于统计每个产品每年销量总价大于1000元的销售情况,并按总价从高到低排序。