[개발] sequelize 에서 sum 구하기

안녕하세요 @realmankwon입니다.

sequelize 에서 group by 를 사용할 경우에는 attributes 를 사용합니다.

만약 order 라는 테이블에 category, kind 라는 컴럼으로 price의 sum 을 구하려고 한다면 일단 attributes 배열에 category, kind 를 넣어줍니다.
이후 sum 을 위한 fn 을 다음과 같이 입력합니다.

[
     models.sequelize.fn("sum", models.sequelize.col("price")),
     "total_price",
]

그리고 where 다음에 group: ["category", "kind"] 을 추가시켜 주면 됩니다.

전체 구문은 다음과 같습니다.

const totalAmount = await models.order.findAll({
    attributes: [
        "category",
        "kind",
        [
          models.sequelize.fn("sum", models.sequelize.col("price")),
          "total_price",
        ],
      ],
     where: {
        confirm : 'Y'
      },
     group: ["category", "kind"],
});
H2
H3
H4
3 columns
2 columns
1 column
2 Comments