찾다

 >  Q&A  >  본문

(X) 열의 값을 기준으로 열의 합을 구하고, X가 존재하는 다른 열의 값을 모두 가져옵니다.

다음 테이블이 있습니다:

id 코드 금액 수량
1 1 25 36
2 2 30 6
3 5 100 1
4 1 25 100
5 1 20 1
6 4 10 136
7 1 10 20

코드 = 1인 모든 금액의 합계를 찾고 싶습니다. 또한 모든 수량의 쉼표로 구분된 값과 이러한 모든 이벤트에 대한 모든 ID의 쉼표로 구분된 값이 필요합니다.

예: 출력은 다음과 같아야 합니다:

코드 금액 수량 id
1 80 36, 100,1, 20 1,4,5,7

저도 비슷한 일을 할 수 있다는 걸 알아요

으아아아

이 코드에 해당하는 합계를 구했지만 이러한 수량과 ID를 모두 구하는 방법을 모르겠습니다.

DBFiddle

P粉439804514P粉439804514268일 전447

모든 응답(2)나는 대답할 것이다

  • P粉578343994

    P粉5783439942024-04-02 00:22:58

    MySQL에서는 GROUP_CONCAT

    을 사용할 수 있습니다.

    쿼리 #1

    으아악
    코드 total_amount id qts
    1 80 1,4,5,7 36,100,1,20

    DB Fiddle에서 보기

    Postgres에서는 string_agg

    을 사용할 수 있습니다.

    쿼리 #1

    으아악
    코드 total_amount id qts
    1 80 1,4,5,7 36,100,1,20

    DB Fiddle에서 보기

    회신하다
    0
  • P粉323374878

    P粉3233748782024-04-02 00:12:44

    GROUP_CONCAT를 사용하여 모든 데이터를 그룹화할 수 있습니다.

    으아악

    GROUP_CONCAT 기본적으로 쉼표(,)가 구분 기호로 사용되므로 동일한 쿼리를 작성할 수 있습니다.

    으아악

    다른 구분 기호를 원한다면 구체적으로 정의할 수도 있습니다.

    회신하다
    0
  • 취소회신하다