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.shSELECT
*
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.shselect
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 명령을 실제로 사용한 적은 없지만 가능한 한 사용하는 템플릿으로 만들기 위해 명령을 사용했습니다.
개선 방안이 있으면 말씀해 주세요.
Reference
이 문제에 관하여(SQL 쿼리 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomorin0608/items/327824f80d4cb812327b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
이니셜은'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 명령을 실제로 사용한 적은 없지만 가능한 한 사용하는 템플릿으로 만들기 위해 명령을 사용했습니다.
개선 방안이 있으면 말씀해 주세요.
Reference
이 문제에 관하여(SQL 쿼리 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomorin0608/items/327824f80d4cb812327b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SQL 쿼리 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomorin0608/items/327824f80d4cb812327b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)