茨の道も一歩から

インフラ構築からプログラミング(Python・JavaScript)までITに関するブログです。

116日目:データベース

データベースの講義15日目最終日です。

【講義内容】

  • 自習

【ワンポイント】

四分位

CREATE TABLE store_sales (
    id CHAR(2) PRIMARY KEY,
    sales INT UNSIGNED NOT NULL
)ENGINE=Innodb DEFAULT CHARSET=utf8;

INSERT INTO store_sales VALUES
('A', 4350),
('B', 550),
('C', 400),
('D', 420),
('E', 450),
('F', 420),
('G', 400),
('H', 320),
('I', 320),
('J', 400);

SELECT *, RANK() OVER(ORDER BY sales DESC) AS ranking FROM store_sales;

WITH ranking_tbl AS(
    SELECT
        *,
        RANK() OVER(ORDER BY sales DESC) AS ranking
    FROM store_sales
)
SELECT
    *,
    CASE
        WHEN ranking <= 0.25*(SELECT COUNT(sales) FROM store_sales) THEN 1
        WHEN ranking <= 0.5*(SELECT COUNT(sales) FROM store_sales) THEN 2
        WHEN ranking <= 0.75*(SELECT COUNT(sales) FROM store_sales) THEN 3
        ELSE 4
    END AS sifenwei
FROM ranking_tbl
;

【今日の積み上げ】

‐ データベースの基礎