목록SQL (41)
Allen's 데이터 맛집
가격대 별 상품 개수 구하기 위와 같은 문제에서 당연히 CASE문을 사용했지만 만약에 해당 PRICE값들의 범주가 많다면 일일이 전부 쳐야 하는 번거로움이 있습니다. CASE 문 사용 SELECT CASE WHEN price >= 10000 AND price = 20000 AND price = 30000 AND price = 40000 AND price = 50000 AND price = 60000 AND price < 70000 ..
TIMESTAMP_DIFF 함수는 두 날짜 또는 시간 간격 사이의 차이를 계산하는 데 사용되는 함수입니다. 이 함수는 두 TIMESTAMP 값 사이의 차이를 일, 시간, 분, 초 등의 단위로 계산할 수 있습니다. TIMESTAMP_DIFF(timestamp_expr1, timestamp_expr2, unit) timestamp_expr1과 timestamp_expr2는 비교할 두 TIMESTAMP 표현식입니다. unit은 차이를 계산할 단위를 나타내는 문자열입니다. 예를 들어, 'SECOND', 'MINUTE', 'HOUR', 'DAY' 등이 사용될 수 있습니다. 예를 들어, 다음은 두 TIMESTAMP 값 사이의 분 차이를 계산하는 예제입니다: SELECT TIMESTAMP_DIFF(timestamp'..
SQL로 통계를 내기 위해 자주 사용되는 누적값을 추출하는 법을 알아보겠습니다. 간단하게 value라는 값을 가지고 있는 데이터 셋이 아래와 같이 있다고 가정합니다. 이 데이터를 사용하여 YYYY-MM 형식으로 월별로 그룹화를 하여서 각 월별 값의 수(count)와 value의 합(sum)을 추출해 보겠습니다. 아래와 같이 SUM()을 사용하여 누적개수(comulative_count), 누적합(comulative_amount)을 구할 수 있습니다. SELECT FORMAT_TIMSTAMP('%Y-%m', date), SUM(COUNT(*) OVER (ORDER BY FORMAT_TIMESTAMP('%Y-%m', date)) as comulative_count, SUM(SUM(VALUE) OVER (ORD..
ROW_NUMBER()는 SQL에서 사용되는 윈도우 함수 중 하나로, 결과 집합의 각 행에 번호를 할당하는 데 사용됩니다. 1. 각 행에 번호 부여 - ROW_NUMBER() 함수는 결과 집합의 각 행에 고유한 번호를 부여합니다. - 이 번호는 일종의 순서 또는 순위를 나타냅니다. 2.ORDER BY 절과 함께 사용 - ROW_NUMBER()를 사용할 때는 일반적으로 ORDER BY 절과 함께 사용됩니다. - ORDER BY에 지정한 열을 기준으로 순서를 정하고, 그 순서에 따라 번호가 부여됩니다. 3. PARTITION BY 절과 함께 사용 보통 PARTITION BY구문과 함께 사용되며 PARTITION BY의 기준으로 그룹화된 각 파티션의 행들은 ROW_NUMBER()에 의해 '1'부터 차례대로 넘..