반응형
값에 따라 테이블의 두 열을 "병합"하고 DateTime 유형 열에서 가장 최근 날짜를 선택하는 mysql 테이블 보기 만들기
다음과 같은 MySQL 데이터베이스 테이블이 있습니다.
신분증 | ref_A | ref_B | ref_Id | dateLog |
---|---|---|---|---|
1 | 5 | 2 | XX | 2019-12-20 |
2 | 2 | 5 | XX | 2020-12-25 |
3 | 5 | 2 | XX | 2021-04-01 |
4 | 3 | 2 | YY | 2021-04-12 |
5 | 2 | 3 | YY | 2021-04-13 |
두 열의 조합 발생을 고유한 "관계"로 취급하는 테이블 보기를 작성하고 가장 최근 발생 날짜를 선택합니다.위에서 본 바와 같이 "5"와 "2" 사이의 조합이 3번 반복됨을 알 수 있습니다. 비록 수천 개의 조합일지라도 하나의 단일 관계로 취급해야 합니다. 마치 (2는 이벤트 XX, 5는 이벤트 XX, 2는 이벤트 YY, 등) 그리고 마지막 발생일도 있습니다.그래서 제가 원하는 테이블 뷰는 다음과 같습니다.
ref_결합 | ref_Id | lastUpdate |
---|---|---|
5 | XX | 2021-04-01 |
2 | XX | 2021-04-01 |
3 | YY | 2021-04-13 |
2 | YY | 2021-04-13 |
"CREATE VIEW vw_Table AS(...)" 내부에 선택 항목을 마운트하는 방법을 모르겠습니다. 누군가 이것에 대해 도와줄 수 있습니까?
한 줄이 아니라 두 줄로 결과를 원하는 이유가 무엇인지 잘 모르겠습니다.그래서 저는 다음을 추천합니다.
select least(ref_A, ref_B), greatest(ref_A, ref_B), ref_id,
max(date_log)
from t
group by least(ref_A, ref_B), greatest(ref_A, ref_B), ref_id;
특정 ID를 원할 경우 다음을 추가합니다.
where 5 in (ref_A, ref_B)
이 무투표가 꼭 필요한 경우 다음을 사용할 수 있습니다.
select least(ref_A, ref_B) as ref_Combined, ref_id, max(date_log)
from t
group by least(ref_A, ref_B), greatest(ref_A, ref_B), ref_id
union all
select greatest(ref_A, ref_B) as ref_Combined, ref_id, max(date_log)
from t
group by least(ref_A, ref_B), greatest(ref_A, ref_B), ref_id;
SELECT LEAST(ref_a, ref_b) ref_Combined,
ref_Id,
MAX(dateLog) lastUpdate
FROM test
GROUP BY LEAST(ref_a, ref_b), GREATEST(ref_a, ref_b), ref_id
UNION ALL
SELECT GREATEST(ref_a, ref_b),
ref_Id,
MAX(dateLog)
FROM test
GROUP BY LEAST(ref_a, ref_b), GREATEST(ref_a, ref_b), ref_id
ORDER BY ref_Id, ref_Combined DESC
https://dbfiddle.uk/ ?rdbms=http_8.0&httple=80ed31679ba93fb8c7dc80c305854be0
혼자서 보기로 전환하세요. 이 일은 어렵지 않습니다.
언급URL : https://stackoverflow.com/questions/67188961/creating-a-mysql-table-view-that-merges-two-columns-from-a-table-depending-on
반응형
'programing' 카테고리의 다른 글
도커 ENV 대 RUN 내보내기 (0) | 2023.09.15 |
---|---|
mariadb 10.5의 출력을 설명하는 행 섹션의 백분율의 의미 (0) | 2023.09.15 |
RockyLinux 기반 맞춤형 MariaDB 도커 이미지 (0) | 2023.09.15 |
프로세서의 워드 크기 확인 (0) | 2023.09.15 |
파일에 NS 로그인하는 방법 (0) | 2023.09.15 |