SQL 쿼리 정보

4211 단어 AWS

첫 번째 SQL 명령


Working with Amazon Redshift(일본어)
지금까지는 SQL 지령을 쓰지 않았지만, LAB에서 SQL 조회 작성법을 배웠기 때문에 메모 정도로 남긴다.
Qwiklab을 사용하여 DB에 대한 자세한 내용을 확인하십시오.
말씀드리는 김에 레드시프트의Queryeditor에서 조회를 보냈습니다.
다양한 지령을 사용하면서 임의의 데이터를 검색하는 데 도전했다.
나는 지령을 쓰는 데 가장 중요한 점은 SELECT 문장의 평가 순서라고 생각한다.
SELECT 문구 평가 순서는요.
1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.HAVING
7.SELECT
8.DISTINCT
9.ORDER BY
10.TOP(LIMIT)

SELECT 문


저는 각 그룹의 3등 기록을 얻고 싶지만 FROM문은 먼저 처리되기 때문에 각 그룹의 취득조건을 추가할 수 없기 때문에 이렇게 SELECT문구를 작성합니다.
또 다른 수단으로는 AS 문장을 이용하여 SELECT 문장에 새로운 표를 만들고 두 개의 조회로 나누어 기록을 얻을 수 있다.
매년 SELECT 문구는 도시 간 총 이동 거리 상위 3위의 운영사를 받는다.
xxx.sh
SELECT
    *
FROM
    (
        SELECT
            year,
            sum_mile,
            row_number() over(partition by year order by sum_mile desc) AS num
        FROM
            (
                SELECT
                    carrier,
                    year,
                    SUM(miles) AS sum_mile
                FROM
                    flights
                GROUP BY
                    carrier,
                    year
                ORDER BY
                    year,
                    sum_mile DESC
            )
    ) rank
WHERE
    rank.num BETWEEN 1 AND 3
;
ORDER BY
    year

SELECT 문구의 평가 순서에 따라 진행해 보세요.
FROM 내의 FROM에 flight 테이블을 사용한다고 선언합니다.
GRUPBY에서 carrier, year를 사용하여 조합을 생성합니다.
SELECT의 SUM(miles)을 통해 각 GRUP의 도시 간 이동 거리를 확보한다.
그 다음은 year(ASC),sum밀리로 정렬.
SELECT 문의 rownumber 함수에 따라 모든 yer의sum밀리의 큰 순서에 따라 순위를 매기고 출력합니다.
이 출력 조건을 WHERE 하이쿠의 첫 번째 세 자리에 추가
ORDER 문을 사용하여 yer를 오름차순으로 정렬하고 표시

여러 가지 지령을 조합해서 사용해 보세요.


이니셜은'A'로, 이니셜은 BC의 3편의 출발 공항명이며, 도시 간 이동 거리는 500mil 이상이며, 연도별로 각 통신사, 항공편 출발 공항의 항공편은 합계 1000여 편에 이른다.
xxx.sh
select
    year,
    MAX(departuresyear) as departuresyear
from
    (
        SELECT
            year,
            carrier,
            origin,
            sum(departures) AS departuresyear
        FROM
            flights
        WHERE
            (
                origin LIKE 'A%'
            OR  origin LIKE 'BC_'
            )
        AND miles >= 500
        GROUP BY
            year,
            carrier,
            origin
        HAVING sum(departures) > 10000
        ORDER BY
            1 ASC,
            departuresyear DESC
    )
GROUP BY
    year
ORDER BY
    year ASC
;

FROM에서 flight 테이블 사용 선언
WHERE 희구에서 이니셜은'A'이고 이니셜은 BC의 세 글자 항공편의 출발 공항 이름이며 도시 간 이동 거리가 500mil 이상으로 제한된 기록
GRUP 문장에서 year, carria, origin의 순환을 만듭니다
해빙을 통한 그룹 조건 지정, 합계 출발 횟수 1000 이상으로 한정 기록
SELECT 문구로 표를 만들고 ORDER 문구로 Year의 승차순, 연간 합계 출발 횟수의 강차순에 따라 출력한다.
year에 따라 조를 나누어 매년 가장 큰 출국 항공편 수를 얻고SELECT 문구로 출력표를 작성한다
ORDER 문을 사용하여 yer 내림차순으로 정렬, 출력

총결산


또한 SQL 명령을 실제로 사용한 적은 없지만 가능한 한 사용하는 템플릿으로 만들기 위해 명령을 사용했습니다.
개선 방안이 있으면 말씀해 주세요.

좋은 웹페이지 즐겨찾기