prosource

고유한 결과 SQL 병합

probook 2023. 9. 10. 12:22
반응형

고유한 결과 SQL 병합

그래서 제 문제는 다음과 같습니다.문의하려는 MariaDB 데이터베이스가 있습니다.저는 실험 데이터를 보고 있습니다.제가 원하는 것은 여러 실험을 SQL 쿼리의 결과 행 하나로 요약하는 것입니다.

데이터는 다음과 같습니다.

Experiment_ID | Antibiotic | Strain | Medium    | ...
1               Ampicillin   E. coli  TBauto      ...
2               Ampicillin   E. coli  TB + IPTG

받고 싶은 것:

Experiment_ID | Antibiotic | Strain | Medium               | ...
1               Ampicillin   E. coli  TBauto, TB + IPTG      ...

난 실험에 신경쓰지 않아요ID, 그것은 단지 제가 말하는 두 개의 별개의 항목을 분명히 하기 위해 거기에 있는 것입니다.

난 이미 해봤다.

Select
    tmp.*
From
    ((Select * from my_tbl Where ExperimentID = 1)
Union
    (Select * from my_tbl Where ExperimentID = 2)) as tmp

거기서 나는 여전히 두 줄의 결과를 내게 됩니다.저도 제 안에서 할 수 있어요.Pythoncode. 하지만 DB에서 가져온 결과를 수정할 필요는 없길 바랍니다.

제가 그 두 항목을 병합하기 위해 잘못된 단어를 찾고 있었던 것 같습니다.그러니 부디 올바른 방향으로 안내해 주시기 바랍니다.

집계를 원하는 것 같습니다.

select min(Experiment_ID) as Experiment_ID, Antibiotic, Strain,
       group_concat(Medium order by Experiment_ID separator ', ')
from t
where Experiment_ID in (1, 2)
group by Antibiotic, Strain;

언급URL : https://stackoverflow.com/questions/60283428/merging-distinct-results-sql

반응형