8/9 토요일 아침 일찍부터 병원 두곳을 찾아갔다. 찾아간 병원은 전방 십자인대와 반월상 연골로 유명한 네이버 카페에서 자주 거론되는 수원에 있는 병원과 선수촌에 있는 병원이였다. 규모는 둘다 2차 의료기관급이였다.
이번에 간 병원 의사선생님들은 mri 보자마자 그냥 무조건 수술을 해야 된다라고 하셨다.ㅠㅠ
원래 다니던 병원에서는 외측 연골에 경미한 종파열이 있다고, 수술할 정도가 아니라 하였는데, 이번 병원 원장님들 께서는 실제로 관절내시경을 해야 정확히 알수있지만,. 종파열이 아니라 연골이 말려 들어간 버킷형? 파열이라고 했다 ㅜㅜ. (두분다)
수원병원에서는 그래도 연골 외측 바깥부분이 많이 살아있어서 예후가 좋을것이라고, 무조건 수술하라고 했고 두번째 병원에서는 연골 수술하면 20%밖에 남지않아서 격한 운동을 못할거라고 했다 ㅠㅠㅠ
두분 모두 수술은 무조건 해야하며, 90%로 절제술을 해야한다고 했다.. 절제술이라서 회복은 엄청 빠르지만 연골이 없어진 만큼 이후에 평생토록 관리를 계속 해야할거라고 ㅜㅜ
(사진은 보기 편하게 좌우 반전을 했다. 동그라미 친부분이 외측 후각부의 문제가 되는 내 연골이다 ㅠㅠ)
나는 쪼그릴때만 통증이 심하고 평소에 걷거나 뛸 때 통증도 없고.. 락킹 현상이나 무릎에서 뚝뚝 소리도 안 나서 괜찮다고 생각을 했는데 병원에서 무릎 기능검사를 하는데 와... 의사가 만질때마다 뚝뚝 소리가 나는걸 보고 수술은 해야겠구나 싶었다 ㅜㅜ
집에 돌아오는 길에 수많은 고민을 했다... 고민을 한 결과는.. 수술을 하는게 맞다는거였다.
일단 지금 당장 물리치료나 뭐 아티풀 주사 맞고 있는 거는 중단을 하려고 한다.
그리고 바로 수술하기보다는 2~3달 웨이트 운동으로 조금 하체 근육을 단련시켜놓고 경과를 본 후에 수술을 해보려고 한다. 연골 파열은 다시 다치게 된다면 좀 더 크게 다칠 수 있는 문제가 있기 때문에 좀 조심해야 한다고한다. 그래서 이제 무리가 되지 않는 선에서 하체운동을 해볼까 한다.
이번 계기로 운동 욕심을 나이에 맞게 좀 내려놓아야겠다는 생각이 들었다. 이제 나이가 40에 가까워 짐에도 불구하고, 게다가 선수도 아닌 신분에서 승부욕과 막연한 힘과시를 위해 그동안 젊은 친구들과 너무 무리하게 운동을 해왔던 건 아닌가 싶다.
저는 하체 활용하는 웨이트 운동 1rm 기준으로 스쿼트 160 데드리프트 170 까지 하는 정도여서.. 충분한 하체 근육,인대가 있다고 생각을 했으나 예기치 못하게 치명적인 무릎 부상을 입게 되었습니다 ㅠㅠ
웨이트 운동하면서 부상 경력은,. 어깨 회전근개 파열과, 허리 디스크 돌출이 있었습니다. 둘다 주사치료와 도수치료로 자연 치유하였고,
사실 웨이트 보다는 취미가 그래플링 운동이라서, (경력으로는 유도 유단자이며, 주짓수 블루벨트) 어쩌면 평소에도 무릎 슬개골이 자주 아프기도했고 무리한 운동을 하면서 연골이 닳고있진 않았나 싶네요. (무릎에 손을대면 끼기긱 거리기도 했는데, 실제로 mri 찍고 확인 했을때 퇴행성도 진행되고있다고 진단 받았어요 ㅠㅠ)
최근 이 글을 포스팅하기 한달 전 런닝을 시작해볼까해서, 무작정 전력질주로 20분간 뛰었었는데, (런닝화나 아무런 장비없이) 한 일주일 하고 나니
무릎 뒷쪽 외측 오금에서 좀 참기 힘든 통증이 시작됐습니다. 통증 느낀뒤 3일차부터 걸을때 절뚝거리시 시작했고 참기 좀 힘들어서 병원에 방문했습니다.
정형외과 가서 엑스레이와 초음파 진단 결과 특이사항은 없어서,
그 당시는 거위발 건염 진단을 받았고. 거위발 근육?에 주사를 맞았어요 (무릎쪽이였음)
딱히 주사를 맞고 호전되는 느낌은 없었고, 물리치료를 해도 큰 호전이 없었네요.
특징은 무릎을 끝까지 접으면 (쪼그리면) 아주 큰 통증이 오는거 였습니다. 의자에 앉아있다가 일어날때도 많이 아팠구요.
저는 단순히 무릎쪽 근육 문제일거라고 생각했고.
큰호전은 없었으나 점차 나아지는?(걸을때 통증은 있으나 절뚝거림이 없어짐) 느낌이들어서 첫 치료 일주일 뒤에 미련하게 운동을 가버렸었습니다 ㅠㅠ
유도장에서 대련중 상대방 되치기를 방어할려고 땅에 다리를 딛는 순간(체중이 오른발로 실림) 무릎에서 (크진않게) 뚝소리가 낫고
바로 급성으로 통증이 심해져서 그날 대련을 포기하고 다시 걸을때 쩔둑거리게 됐습니다.
정형외과에 다시 가니, mri 촬영을 해보라해서 하게됐고
소견서 들고 mri있는 병원에 찾아가 찍게되었습니다. mri 촬영한 병원에서는 반월상 연골 외측이 조금 찢어졌다고 진단 받았습니다 .
진단받고ㅠㅠ 멘탈깨진상태로 원래 다니던 병원갔는데,
그 병원에서 오진이 있던것 같다며
반월상 연골 외측에 표제층에 종파열이있으나 수술할 정도는 아니라고 진단받았습니다
그래서 그날 연골주사를 맞고
다음날 반월상연골 주로 보는 다른 정형외과에 가서 다시 진단받으니
이번 병원에서도 파열이 조금 있으나 수술할 정도는 아니고 수술은 최후수단이라며 보존치료해보자고.. 연골주사는 어제 맞았으니 프롤로 주사로 연골 주위 염증 근육에 맞자고 해서 맞고 오게 됐습니다 ( 염증이 엄청많았음)
그리고 4일뒤인 오늘
통증이 엄~청 줄었으나, 아직 무릎을 끝까지 접으면 (쪼그리면) 통증이 좀 있고, 뭔가 무의식적으로 신경이쓰여서 그러는지 무릎이 불안정한 상태입니다.
윈도우 함수는 편하게 개발 할 수 있도록 도움을주는 펑션일뿐 사실 그 함수를 못쓴다고 프로그램 구현을 할 수 없는게 아님 뭐 개발할때 편하고 빠르것지만 나같은 곤조들은 그런거 없이 직접 만드는거 좋아함. 크헝헝
암튼 오늘은 분석함수(PARTITION BY), 윈도우함수 등 아무것도 없이 두가지 컬럼을 하나의 정렬로 하는법을 말하고자한다
왼쪽은 소팅이 안된 데이터고, 오른쪽은 원하는 결과 데이터라고 하자
단순히 봤을때
엥 ORDER BY 를 IDX1 한 뒤에 IDX2 걸면 되는거아냐?
라고 간단하게 생각 할 수 있지만 그렇게 한다면 결과는?
IDX2의 값이 0이 가장 위로 올라오는 결과와 다른 형태로 출력됨
그럼 IDX2 하고 IDX1 소팅함 되잖아 라고 할경우 결과는?
두둥 똑같이 틀림
이유는 ORDER BY 절은 선언한 컬럼을 전체 소팅한 뒤 다음 컬럼을 소팅하기 때문에 그럼. (그래서 잘못쓰면 시간오래걸리는 이유기도함)
위의 문제에서는 하나의 컬럼을 선 정렬해봣자 다음 컬럼 값이 기존 정렬 범위를 초과하거나, 범위에 포함하지 않는 숫자라 어떤순서로 정렬하든 틀어지게 되있다.
+ ORDER BY 는 소팅할 컬럼 값을 하나의 기준으로 잡고 내려가면서 순번을 매김 , 그래서 컬럼 1을 소팅하다 2로 꺽어서 순위를 매기는게 아니라 2의 값을 1에다가 대입해서 내려가면서 정렬함… 긍까 우선 순위의 컬럼 값이 기준이됨. 그래서 ORDER BY를 단순하게 컬럼 순으로 생각해서 순서가 꼬이는 경우도 이걸 인지하지 못하고 사용해서 그런느 경우가 많음
그럼 어떻게 하냐
원초적으로 두개의 IDX를 하나의 IDX로 합쳐야한다. JOIN 과 ROWNUM을 사용하면 안되는게 없다. 분석함수따위 사용하지않고 만들어보자
첫번째 IDX2 의 0인 값을 추리는 쿼리를 만드는데, 0이 아닌 값을 아우터조인할 가상의 빈컬럼도 생성한다 AF_...
결과
두번째 IDX2 가 0이아닌 값을 추리는 쿼리를만든다. 여기서 범위를 초과하는 IDX값은 이전행의 IDX값을 가져오는 쿼리를만든다
이렇게 짜면됨...
어느정도 쿼리 볼줄 알면 이해한다고 생각함. 뭐 모르면 댓글로 물어본다면 알려드리겠습니다
결과 (TDATE -> AF_DATE , IDX1->AF_IDX1 , IDX2->AF_IDX2 입니다.. 결과 캡쳐를 늦게해서 ㅠㅠ)
0 소팅과 0이아닌 소팅을 쪼갰으니 이제 위에서 있던 쿼리를 UNION ALL 로 합칩니다 ( UNION ALL 상단 쿼리는 ORDER BY 하지 못하는거 인지하고 서브쿼리 설계해야함 )
결과
자 이렇게하면 500001, 900001 번이 맞는 순으로 들어갔죠?
이제 여기서 이 UNION ALL 쿼리를 감싼후 전체 소팅을 해줍시다
SELECT SELECT TDATE , CASE WHEN AF_IDX1 IS NULL THEN IDX1 WHEN IDX1 = AF_IDX1 THEN IDX1 ELSE AF_IDX1 END AS IDX1 , IDX2 FROM ( 만들었던 UNION ALL 쿼리 ) ORDER BY TDATE , IDX1 , AF_IDX2