「SQL面试题库」 No_122 Fix Product Name Format

2023-10-16 10:50:57 浏览数 (1)

今日真题

题目介绍: Fix Product Name Format fix-product-name-format

难度简单

SQL架构

Table:

代码语言:javascript复制
Sales
代码语言:javascript复制
 -------------- --------- 
| Column Name  | Type    |
 -------------- --------- 
| sale_id      | int     |
| product_name | varchar |
| sale_date    | date    |
 -------------- --------- 
sale_id is the primary key for this table.
Each row of this table contains the product name and the date it was sold.

Since table Sales was filled manually in the year 2000,

代码语言:javascript复制
product_name

may contain leading and/or trailing white spaces, also they are case-insensitive.

Write an SQL query to report

代码语言:javascript复制
product_name

in lowercase without leading or trailing white spaces.

代码语言:javascript复制
sale_date

in the format

代码语言:javascript复制
('YYYY-MM')
代码语言:javascript复制
total

the number of times the product was sold in this month.

Return the result table ordered by

代码语言:javascript复制
product_name

in ascending order, in case of a tie order it by

代码语言:javascript复制
sale_date

in ascending order.

The query result format is in the following example.

``` Sales ------------ ------------------ -------------- | sale_id | product_name | sale_date | ------------ ------------------ -------------- | 1 | LCPHONE | 2000-01-16 | | 2 | LCPhone | 2000-01-17 | | 3 | LcPhOnE | 2000-02-18 | | 4 | LCKeyCHAiN | 2000-02-19 | | 5 | LCKeyChain | 2000-02-28 | | 6 | Matryoshka | 2000-03-31 | ------------ ------------------ --------------

Result table: -------------- -------------- ---------- | product_name | sale_date | total | -------------- -------------- ---------- | lcphone | 2000-01 | 2 | | lckeychain | 2000-02 | 2 | | lcphone | 2000-02 | 1 | | matryoshka | 2000-03 | 1 | -------------- -------------- ----------

In January, 2 LcPhones were sold, please note that the product names are not case sensitive and may contain spaces. In Februery, 2 LCKeychains and 1 LCPhone were sold. In March, 1 matryoshka was sold. ```

代码语言:javascript复制
sql
select trim(lower(product_name)) as product_name, 
        date_format(sale_date,'%Y-%m') as sale_date,
        count(*) as total 
from Sales 
group by trim(lower(product_name)), date_format(sale_date,'%Y-%m') 
order by product_name asc, sale_date asc

注意大小写、空格

  • 已经有灵感了?在评论区写下你的思路吧!

0 人点赞