찾다

 >  Q&A  >  본문

쿼리와 수식은 새 열로 전체 테이블을 형성합니다. 여기서 새 열은 다른 조건부 열 값을 포함하는 수식입니다.

편집: 수식은 "값" 열, 즉 카테고리를 기준으로 user_id가 가장 낮은 "값" 열이어야 합니다.

범주 "A"에 대한 가장 낮은 "user_id"의 ​​"값" 열이 0.01이므로 행 2는 0.04가 됩니다.

죄송합니다.

테이블에서 모든 내용을 검색하고 다른 열을 기반으로 한 정보가 포함된 수식과 관련된 다른 열을 추가하고 싶습니다. 원본 형식은 다음과 같습니다.

카테고리 사용자_ID 가치
하나 1 0.01
하나 2 0.05
4 0.34
7 0.27

새 열은 각 행의 "값" 열에서 "범주" 를 뺀 최소값 "user_id"여야 합니다. 따라서 두 번째 행의 경우 범주가 "A"이고 "A"의 가장 낮은 "user_id"가 1이므로 (0.05 - 1)이 됩니다.

더 많은 행과 열이 있습니다. 이는 단지 예일 뿐입니다.

어떤 공식을 사용해야 하나요?

이것은 올바른 공식 없이 새 열을 만들 수 있다는 것을 보여주기 위해 지금까지 가지고 있는 것입니다.

으아악

이것은 분명히 새 열을 제공하지만 0에 있습니다(자기 자신을 빼기 때문입니다).

올바른 공식은 무엇인가요?

건축은 다음과 같습니다:

CREATE TABLE new_table 
 AS (select * FROM table_1);
 
 ALTER TABLE new_table
 ADD COLUMN `new_column` DECIMAL(3,2)
 GENERATED ALWAYS AS (table_1.value-table_1.value) STORED;
 
 select * from new_table;

P粉178894235P粉178894235263일 전905

모든 응답(2)나는 대답할 것이다

  • P粉302160436

    P粉3021604362024-04-07 16:15:44

    mysql 5.7에서는 목표를 달성하기 위해 하위 쿼리를 사용할 수 있으며 보기는 새 테이블보다 나은 것 같지만 선택 사항이 동일하므로 선택할 수 있습니다

    db<>바이올린 여기

    회신하다
    0
  • P粉627027031

    P粉6270270312024-04-07 15:41:34

    으아악

    이것은 window 함수를 사용합니다. 즉, 2018년 현재 MySQL 버전인 MySQL 8.0이 필요합니다.


    댓글에 답하기: 카테고리에서 가장 낮은 user_id의 value 열을 사용하세요:

    으아악

    회신하다
    0
  • 취소회신하다