본문 바로가기
Mysql

Mysql Update Select

by NaHyungMin 2019. 1. 11.

결제 이벤트가 연장되었는데 중간에 비어있는 날이 존재하여 몇 분 끄적여서 만들어 본 쿼리

가격이 맞는지 검색해서 원본 테이블에 업데이트 형식



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
UPDATE `event_user_market_buy` AS a
INNER JOIN
(
    SELECT a.`user_key`
        , (a.`buy_money` + b.`shop_price`) as `sum_price`
        , truncate(((a.`buy_money` + b.`shop_price`/ 30000), 0) as `sum_send_count`
    FROM `event_user_market_buy` as a
    INNER JOIN
    (
        SELECT sum(`shop_price`) as `shop_price``user_key`
        FROM `market_receipt_reward`
        WHERE date(`create_time`= '2019-01-01'
        GROUP BY `user_key`
    )AS b
    ON a.`user_key` = b.`user_key`
)AS b
ON a.`user_key` = b.`user_key`
SET a.`buy_money` = b.`sum_price`
    , a.`send_count` = b.`sum_send_count`;

cs


임시 카운트 30,000

truncate 반내림 함수


운영 변경으로 인한 업데이트 쿼리는 항상 불안하니, CSV backup이라도 해놓고 진행하는 것이 편함


'Mysql' 카테고리의 다른 글

스테이지 스코어 저장.  (0) 2019.03.11
Mysql 엔진  (0) 2019.03.07
Mysql Master Slave 동기화 오류 시 처리  (0) 2018.10.15
MyISAM, MEMORY 엔진의 잠금  (0) 2018.10.12
Mysql 엔진 잠금(Lock)  (0) 2018.10.12