【355天】我愛刷題系列114(2018.01.26)

叨叨兩句

  1. ~

SQL習題009

1

題目描述
從titles表獲取按照title進行分組,每組個數大於等於2,給出title以及對應的數目t。
CREATE TABLE IF NOT EXISTS "titles" (
emp_no int(11) NOT NULL,
title varchar(50) NOT NULL,
from_date date NOT NULL,
to_date date DEFAULT NULL);函數

此題應注意如下三點:
一、用COUNT()函數和GROUP BY語句能夠統計同一title值的記錄條數
二、根據題意,輸出每一個title的個數爲t,故用AS語句將COUNT(title)的值轉換爲t
三、因爲WHERE後不可跟COUNT()函數,故用HAVING語句來限定t>=2的條件

SELECT title, COUNT(title) AS t FROM titles
GROUP BY title HAVING t >= 2

2

從titles表獲取按照title進行分組,每組個數大於等於2,給出title以及對應的數目t。
注意對於重複的emp_no進行忽略。
CREATE TABLE IF NOT EXISTS "titles" (
emp_no int(11) NOT NULL,
title varchar(50) NOT NULL,
from_date date NOT NULL,
to_date date DEFAULT NULL);spa

此題應注意如下三點:
一、先用GROUP BY title將表格以title分組,再用COUNT(DISTINCT emp_no)能夠統計同一title值且不包含重複emp_no值的記錄條數
二、根據題意,輸出每一個title的個數爲t,故用AS語句將COUNT(DISTINCT emp_no)的值轉換爲t
三、因爲WHERE後不可跟COUNT()函數,故用HAVING語句來限定t>=2的條件

SELECT title, COUNT(DISTINCT emp_no) AS t FROM titles
GROUP BY title HAVING t >= 2
相關文章
相關標籤/搜索