group by
프로그래밍/Database
2020. 8. 17.
[MySQL] Order By한 뒤, Group By하는 방법
Data가 적재된 방식에 따라 Group By의 결과가 달라지게 될 것이다. Group By를 통해 얻고자 하는 값이 Sum이거나 Count와 같이 가공이 이뤄지는 값이라면 아래의 쿼리 들은 큰 의미가 없을 것이다. 하지만 만약에 데이터가 기록된 시간 또는 업데이트 된 시간에 따라 정렬한 뒤 Group By를 하고자 하는 경우가 있을 것이다. 간단하게 생각하여 쿼리를 작성한다면 아래와 같을 것이다. SELECT * FROM order_book ORDER BY created_at DESC GROUP BY product; 하지만 위의 쿼리는 에러가 발생한다. Depth가 동일한 쿼리에서 Order By와 Group By를 동시에 사용할 수 없다는 의미의 쿼리 에러가 발생하는 것이다. 그렇다면, Sub Que..
프로그래밍/Database
2020. 8. 5.
[MySQL] Roll-Up Query
Roll Up 쿼리는 Group By와 함께 사용되는 조건 구문이다. Group By 쿼리에 의해서 grouping된 결과에 대해서 보다 상세한 정보를 반환하는 기능을 수행한다. ROLLUP 쿼리를 사용한다면 그룹화된 row들에 대한 중간 합(결과)에 대한 새로운 row가 추가되어 쿼리의 결과를 얻을 수 있게 된다. 아래의 정보들이 저장되어 있다고 할 경우, ROLLUP 쿼리를 쓴 결과는 아래와 같다. warehouse product model quantity San Francisco Apple iPhone XS 50 San Francisco Apple iPad Pro 10 San Francisco Apple Apple Watch 200 San Francisco Samsung Z Flip 200 San ..