본문 바로가기

Programming-[Backend]/SQL

[TIL] SQL ANY_VALUE

728x90
반응형

가끔 SQL 구문 중 ANY_VALUE 구문이 나올 때가 있다.

 

다음 구문에서, customer.name 을 any_value로 지정하게 되면 customer.id를 통해 group by 가 이루어지면서 orders.value는 customer.id값이 같은 값끼리 더해지게 된다.

 

그러나 customer.name값은 이름에서 알 수 있듯이 이름 값이라서 sum 등의 합산(aggregate) 구문으로 치환될 수 없다. 이럴 때, any_value를 써주면 여러 행의 customer.name값 중 아무거나 1개의 값으로 대표되어 표기된다.

1
2
3
4
select customer.id , any_value(customer.name) , sum(orders.value)
    from customer
    join orders on customer.id = orders.customer_id
    group by customer.id;
cs

 

 


참조

https://docs.snowflake.com/en/sql-reference/functions/any_value.html

728x90
반응형