1. SQL語句練習(xí)四

        共 1707字,需瀏覽 4分鐘

         ·

        2021-08-03 17:54

        題目描述

        在表 orders 中找到訂單數(shù)最多客戶對應(yīng)的 customer_number 。數(shù)據(jù)保證訂單數(shù)最多的顧客恰好只有一位。表 orders 定義如下:

        | Column            | Type      |
        |-------------------|-----------|
        | order_number (PK) | int |
        | customer_number | int |
        | order_date | date |
        | required_date | date |
        | shipped_date | date |
        | status | char(15) |
        | comment | char(200) |

        樣例輸入

        | order_number | customer_number | order_date | required_date | shipped_date | status | comment |
        |--------------|-----------------|------------|---------------|--------------|--------|---------|
        | 1 | 1 | 2017-04-09 | 2017-04-13 | 2017-04-12 | Closed | |
        | 2 | 2 | 2017-04-15 | 2017-04-20 | 2017-04-18 | Closed | |
        | 3 | 3 | 2017-04-16 | 2017-04-25 | 2017-04-20 | Closed | |
        | 4 | 3 | 2017-04-18 | 2017-04-28 | 2017-04-25 | Closed | |

        樣例輸出

        | customer_number |
        |-----------------|
        | 3 |

        解釋 customer_number 為 '3' 的顧客有兩個(gè)訂單,比顧客 '1' 或者 '2' 都要多,因?yàn)樗麄冎挥幸粋€(gè)訂單 所以結(jié)果是該顧客的 customer_number ,也就是 3 。

        解題思路

        此題考查兩個(gè)知識點(diǎn),一個(gè)是group,一個(gè)是limit。使用group針對customer_number做分組統(tǒng)計(jì)出訂單數(shù)最多的用戶。limit直接返回第一個(gè),即為數(shù)量最多的用戶。

        解題答案

        // limit可以寫為limit 1;
        select customer_number from orders group by customer_number order by count(customer_number) desc limit 0,1;

        進(jìn)階:如果存在多個(gè)用戶訂單數(shù)一樣多,如何返回對應(yīng)所有的customer_number.

        SELECT
        customer_number
        FROM
        orders o1
        GROUP BY o1.customer_number
        HAVING COUNT(*) = (
        SELECT
        COUNT(*)
        FROM
        orders o2
        GROUP BY o2. customer_number
        ORDER BY COUNT(*) DESC
        LIMIT 1
        );
        瀏覽 39
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 国产精品偷伦精品视频 | 天天日日日日 | 一边爽一边摸下刺激视频 | 中文字幕精品av乱喷 | 三级网址在线观看 |