>

나는 다른 것을 시도했지만 성공하지 못했습니다. 다음과 같은 문제가 있으며 누군가 나를 도울 수 있다면 매우 감사하겠습니다.

각각 다른 측정 값으로 수십억 개의 레코드로 볼 수 있습니다

A)

| s_c_m1 | s_c_m2 | s_c_m3 | s_c_m4 | s_p_m1 | s_p_m2 | s_p_m3 | s_p_m4 |
|--------+--------+--------+--------+--------+--------+--------+--------|
|   0    |   1    |   2    |   3    |   4    |   5    |   6    |   7    |
|   1    |   2    |   3    |   4    |   5    |   6    |   7    |   8    |
|   2    |   3    |   4    |   5    |   6    |   7    |   8    |   9    |
|--------+--------+--------+--------+--------+--------+--------+--------|

그런 다음 각 측정 단위로 집계해야합니다. 그리고 너무 오래 너무 좋아. 나는 이것을 알아 냈습니다.

B)

| s_c_m1 | s_c_m2 | s_c_m3 | s_c_m4 | s_p_m1 | s_p_m2 | s_p_m3 | s_p_m4 |
|--------+--------+--------+--------+--------+--------+--------+--------|
|   3    |   6    |   9    |   12   |   15   |   18   |   21   |   24   |
|--------+--------+--------+--------+--------+--------+--------+--------|

다음 형식으로 데이터를 가져와야합니다. 키-값 형식으로 바꿔야합니다.

C)

| measure |  c |  p | 
|---------+----+----|
|    m1   |  3 | 15 | 
|    m2   |  6 | 18 | 
|    m3   |  9 | 21 | 
|    m4   | 12 | 24 | 
|---------+----+----|

B)의 첫 번째 4 열은 C)에서 첫 번째 열을 형성하고, 두 번째 4 열은 다른 열을 형성합니다.

쉽게 관리 할 수있는 우아한 방법이 있습니까? 완벽한 해결책은 A)와 B)에 다른 측정법이 도입되면 수정이 필요하지 않고 자동으로 차이를 포착하는 것입니다.

SqlServer와 Postgres에서이 작업을 수행하는 방법을 알고 있지만 여기서는 만료가 없습니다.


  • 답변 # 1

    지도를 사용해야한다고 생각합니다

관련 자료

  • 이전 c# - 편집 된 데이터를 데이터베이스에 저장할 수없고 NULL을 반환합니다 어떻게 수정합니까?
  • 다음 swift - BLE 특성 쓰기 값이 때때로 임의의 값으로 이동