반응형

Mysql 에서 그룹별 누적 카운트를 하는 방법

 

만약에 주문 테이블이 있을 경우, 회원 별로 주문 횟수를 누적 카운트 하는방법이다.

 

SELECT 회원ID,ROW_NUMBER() OVER(PARTITION BY 회원아이디 ORDER BY 회원아이디) AS cnt
FROM 주문테이블;

 

다음과 같이 쿼리를 하면 예를 들어 결과가 아래와 같이 ID별로 카운트가 된다.

ID cnt
1 3
2 2
1 2
2 1
1 1
반응형
반응형

Mysql 에서 update 할때 join이 필요한 경우

 

A테이블의 외래키가 id라고 하고 B테이블의 프라이머리 키가 id 라고 하면,

우선 조인을 하고, 

각각 필요한 항목을 질의 후에 업데이트 하면된다.

 

아래의 쿼리의 내용은 

A테이블에 있는 컬럼이 B테이블에 있는 컬럼과 다르면,

A테이블에 있는 컬럼을 B테이블에 있는 컬럼으로 업데이트 하는것이다.

UPDATE tbl01 A 
LEFT JOIN tbl02 B 
ON A.id = B.id
SET A.컬럼 = B.컬럼
WHERE A.컬럼 != B.컬럼;
반응형
반응형

Ambiguous mapping found. Cannot map 에러가 날 경우

 

중복된 mapping 이 있을 경우 이다.

중복된 mapping 이 다른 컨트롤러에도 있을 수도 있으니 확인하면 된다.

@RequestMapping(value="/home.do")
public String home( HttpServletRequest request){
	return "home"
}

@RequestMapping(value="/home.do")
public String home( HttpServletRequest request){
	return "home"
}

 

반응형
반응형

java.lang.Long cannot be cast to java.lang.Integer 에러 발생시

 

발생 사유 :

long 형(db 기준 number)을 바로 int 로 변환하려고 하기 때문

 

해결 방벙 :

String 으로 변환 후에 int로 변환

아래 코드를 참고해주세요

 

int score = Integer.parseInt(String.valueOf(dataMap.get("score")));
반응형
반응형

SQL 오류 (1690): BIGINT UNSIGNED value is out of range in....

위의 에러 발생 이유는

 

아래와 같이 컬럼명의 타입이 unsigned 로 되어있고, 음수의 값이 발생되는 경우 발생된다.

select (컬럼명 - 100) from 테이블명

 

해결방법 

select (CAST(컬럼명 as SIGNED) - 100) from 테이블명

 

위와 같이 SIGEND 로 변경해주면된다.

반응형
반응형

IE 에서 hwp 다운로드 안될때

 

tomcat을 사용하고 있는경우이다.

conf/web.xml 에 아래의 내용을 추가한다.

 

<mime-mapping>
	<extension>hwp</extension>
	<mime-type>application/unknown</mime-type>
</mime-mapping>
반응형
반응형

아파치 톰캣 버전 숨기기

 

 

위와 같이 톰캣의 버전이 나올경우엔

톰캣 디렉토리 / conf / server.xml 파일을 수정해야된다.

 

 

아래의 항목을 추가하면된다.

<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>

 

 

아래는 기존의 server.xml 의 일부이다.

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

 

아래는 수정된 server.xml 의 일부이다.

 

 

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>

 

 

 

 

반응형
반응형

리눅스에서 포트를 사용하고있는 프로세스 위치를 확인하는 방법.

 

 

아래 명령어 시에 프로세스 ID가 나온다.

# ls -l /proc/프로세스ID/exe

 

해당 프로세스 ID로 아래와 같이 검색시에 실행중인 프로세스의 실행파일 위치가 나온다,

 #netstat -tulpn | grep :20030
반응형
반응형

Mybatis 에서 

### Cause: java.sql.SQLException: ORA-00911: 문자가 부적합합니다. 에러 발생시

 

- SQL 쿼리문에서 세미콜론, 콤마, 따옴표, 등 표기 법을 자세히 살펴 보시고 틀린 부분을 수정

 

반응형
반응형

자바 최소값 ~ 최대값 사이 랜덤 난수 생성

int minNum = 15;
int maxNum = 55;

int ranNum = new Random().nextInt((maxNum - minNum) + 1) + minNum;

System.out.println(String.format("%d ~ %d 사이의 랜덤 숫자 : %d", minNum, maxNum, ranNum));

 

반응형

+ Recent posts