단일 SQLite 쿼리를 어떻게 조합하여 다음을 수행 할 수 있는지 잘 모르겠습니다. 나는 비트와 조각을 작동시킬 수는 있지만, 모든 것을 하나의 단일 것으로 융합하는 것처럼 보일 수는 없다.그룹화 된 행이 중복 된 여러 열의 SQLite SELECT 쿼리
| ID | ColumnA | ColumnB | ColumnC | ColumnD |
| 1 | 21 | 34 | 10 | 0.12654 |
| 2 | 21 | 34 | 20 | 0.25478 |
| 3 | 21 | 46 | 10 | 0.43564 |
| 4 | 21 | 46 | 20 | 1.02487 |
| 5 | 34 | 21 | 10 | 0.01476 |
| 6 | 34 | 21 | 20 | 0.87265 |
| 7 | 34 | 46 | 10 | 0.46478 |
| 8 | 34 | 46 | 20 | 0.13665 |
| 9 | 46 | 21 | 10 | 0.04189 |
| 10 | 46 | 21 | 20 | 0.91754 |
| 11 | 46 | 34 | 10 | 0.73688 |
| 12 | 46 | 34 | 20 | 0.24299 |
이 데이터는 내가 수행하고있어 일부 시뮬레이션 중첩 할 - 루프에 의해 생성됩니다
나는 (실제 데이터 세트가 몇 GB입니다)이 보이는 테이블이있다.
이 표에서 필자는 색/히트 맵을 플로팅 할 수 있도록 다음과 같은 표를 추출해야합니다. COLUMNA 및 COLUMNB의 값이 소정의 행에 대해 동일 결코 같이
| ID | ColumnA | ColumnB | ColumnC | ColumnD |
| 1 | 21 | 34 | 10 | 0.12654 |
| 3 | 21 | 46 | 10 | 0.43564 |
| 5 | 34 | 21 | 10 | 0.01476 |
| 8 | 34 | 46 | 20 | 0.13665 |
| 9 | 46 | 21 | 10 | 0.04189 |
| 12 | 46 | 34 | 20 | 0.24299 |
그래서이 2 차원 배열을 사용 ColumnD 값에 기초하여 컬러 맵을 나를 수있게 (대각는 0으로 설정되어야한다 때문에 대각선에 대한 데이터) 데이터베이스에 존재하지 않는 :
| 21 | 34 | 46
------------------
21 | 0 | |
------------------
34 | | 0 |
------------------
46 | | | 0
내 질문은 내가 칼라 맵을 생성하기 위해 2 차원 배열로가는 모든 데이터를 집계 할 수있는 단일 쿼리를 설정하는 방법 기본적으로.
ColumnA와 ColumnB는 기본적으로 동일한 정수 집합으로 채워지는 것이 중요합니다. DISTINCT를 사용하여 고유 한 정수 값 목록을 얻을 수 있습니다. 여러 열에 걸쳐 DISTINCT를 선택하는 것에 대한 몇 가지 SO 스레드를 찾았으나 예제에서는 집계를 사용하여 다른 열의 값을 선택하는 방법을 보여주지 않습니다. 이 경우, columnA와 ColumnB의 각 ID 쌍에 대해 ColumnD의 최소값을 선택하려면 min()을 사용합니다. 고유 한 좌표 쌍 (ColumnA, ColumnB)이므로 단일 열에서 DISTINCT를 선택해도 작동하지 않습니다.
도움이 될 것입니다.
는
원본 테이블에서 추출한 테이블로 이동하는 방법이 명확하지 않습니다. 이 둘은 완전히 똑같습니다. 당신의 기준은 무엇입니까? –
죄송합니다. 아마도 텍스트가 손실되었을 수 있습니다. 기준은 ColumnD의 최소값 인 각 (ColumnA, ColumnB) 쌍을 선택합니다. – kartikkumar