SIR

db 최대값 칼럼이름 가져오기

db 최대값 칼럼이름 가져오기

QA

db 최대값 칼럼이름 가져오기

본문

사진과 같이 게시판에 가중치를 DB에 저장시켰는데 테이블 하나를 더 만들어 이 한 행에서 최대값을 가진 칼럼의 이름을 저장하고싶습니다. 도무지 방법이 떠오르지 않아 도와주세요 ㅜㅠ991344294_1599792664.8688.png

이 질문에 댓글 쓰기 :

답변 5

이런건 php 코드로 한번 돌리는게 좋을것 같습니다만,,,,
방법이 없다면, 다음과 같이 해볼수 있습니다.

SELECT Name, @highest_val:= GREATEST(type1, type2, type3) AS highest_col_value,
   CASE @highest_val WHEN type1 THEN 'type1'
                     WHEN type2 THEN 'type2'
                     WHEN type3 THEN 'type3'                         
   END AS highest_value_column_name
FROM myTable 
Where unique_column = {som_value...}


 

일괄 업데이트 할려면 위의 쿼리를 응용해서 만드시면 될것 같네요.

 

select max(ca_id_10) as ca_id_10_max, max(ca_id_20) as ca_id_20_max, max(ca_id_30) as ca_id_30_max, max(ca_id_40) as ca_id_40_max from table 

이렇게 해서 그 값을 넣으면 각 필드에 최대값 아닐까요 ?

값을 비교하면 네 필드중 가장 큰 값을 가진 컬럼을 뽑는 것도 가능할 것 같네요 

필드 4개에 들어가는 최대값이 항상 40인가요?

두개 이상의 필드에 40이 들어가는 경우는 없나요?

더 상세한 설명이 잇어야겟네요

 

처음부터 필드에 값 입력/수정시 최대값 필드명를 다른 여분 필드에 저장하는 방식으로 하면

간단한 일일텐데요

레코드수가 많다면 loop를 돌려서 한번 최대값 필드명을 저장하고 다음부터는 입력시

최대값 필드를 등록하는 코드를 만들어 사용하는 것이....

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 95,208 | RSS
QA 내용 검색

회원로그인

진행중 포인트경매

  1. 참여16 회 시작21.01.16 18:00 종료21.01.23 18:00
  2. 참여10 회 시작21.01.16 12:00 종료21.01.23 12:00
  3. 참여40 회 시작21.01.15 12:00 종료21.01.22 12:00

(주)에스아이알소프트 (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT