이전 행의 값을 기반으로하는 mysql 쿼리

nmh921

결과가 관심있는 셀 바로 위에있는 셀의 값을 기반으로하는 mysql 쿼리를 실행하고 싶습니다. 예를 들어, 일련의 행동에 소요 된 시간을 계산하고 있으며 걷기에 소요 된 시간이 걷기 직전에 발생한 수유에 소요 된 시간보다 긴 경우를 식별하고 싶습니다. 다음은 샘플 데이터 세트입니다.

ID   Duration (min)  Time of Day    Behavior
1    21               9:01            Walk
1    31               9:22            Eat
1    15               9:53            Walk
1    21               10:14           Eat
2    7                1:00            Walk
2    9                1:07            Eat
2    4                1:16            Walk

내 쿼리에서 '기간'금액이 이전 행보다 작은 두 행을 식별하고 싶습니다. IE : ID1에 대한 세 번째 항목 및 ID2에 대한 세 번째 항목.

어떤 도움이라도 대단히 감사하겠습니다. 고마워

팬시 팬츠

샘플 데이터 :

CREATE TABLE t
    (pkai int auto_increment primary key, `ID` int, `Duration` int, `TOD` time, `Behavior` varchar(4))
;

INSERT INTO t
    (`ID`, `Duration`, `TOD`, `Behavior`)
VALUES
    (1, 21, '9:01', 'Walk'),
    (1, 31, '9:22', 'Eat'),
    (1, 15, '9:53', 'Walk'),
    (1, 21, '10:14', 'Eat'),
    (2, 7, '01:00', 'Walk'),
    (2, 9, '01:07', 'Eat'),
    (2, 4, '01:16', 'Walk')
;

기본 키 (auto_increment)로 사용되는 다른 열을 추가했습니다. 여기서는 일이 덜 복잡해지며 어쨌든 기본 키가 있어야합니다.

질문:

select ID, Duration, TOD, Behavior from (
    select
    t.*,
    if(@prev_duration > Duration and @prev_id = ID, 1, 0) as prev_entry_longer,
    @prev_duration := if(@prev_id != ID, null, Duration),
    @prev_id := ID
    from
    t
    , (select @prev_duration := Duration, @prev_id := ID from t order by pkai limit 1) var_init
    where pkai != (select min(pkai) from t)
    order by ID, TOD
) sq
where prev_entry_longer = 1;

결과:

| ID | DURATION |                            TOD | BEHAVIOR |
|----|----------|--------------------------------|----------|
|  1 |       15 | January, 01 1970 09:53:00+0000 |     Walk |
|  2 |        4 | January, 01 1970 01:16:00+0000 |     Walk |
  • 여기에서 사용자 정의 변수에 대해 자세히 읽어보십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

mysql 쿼리의 열 값을 기반으로 행 필터링

분류에서Dev

이전 쿼리를 기반으로 테이블에서 임의의 행을 선택하는 SQL 쿼리

분류에서Dev

MySQL 쿼리-다른 테이블의 열 이름을 기반으로 행 값 가져 오기

분류에서Dev

MySQL의 이전 행을 기반으로 값 업데이트

분류에서Dev

PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

분류에서Dev

PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

분류에서Dev

단일 mysql 쿼리로 특정 날짜를 기반으로 모든 행을 업데이트하는 방법

분류에서Dev

두 개의 다른 테이블의 값을 기반으로 하나의 테이블을 선택하는 MySQL 쿼리.

분류에서Dev

다른 테이블 열의 값을 기반으로하는 쿼리 테이블

분류에서Dev

다른 테이블의 값을 기반으로하는 SQL 쿼리

분류에서Dev

두 개의 열을 기반으로 그룹이있는 MySQL 선택 쿼리

분류에서Dev

MySql 'Insert Ignore into'쿼리를 사용하여 다른 테이블의 일부 값을 기반으로 레코드를 삽입하는 방법

분류에서Dev

mysql 쿼리 : 열의 한 값이 아닌 열의 모든 값을 기반으로 검색

분류에서Dev

쿼리 테이블의 셀 값을 기반으로 전체 행을 굵게 만들기위한 VBA 코드

분류에서Dev

이전 행의 값을 기반으로하는 Groupby

분류에서Dev

하위 쿼리가 둘 이상의 행을 반환 MySQL

분류에서Dev

다른 테이블의 값을 기반으로 값을 선택하는 SELECT 쿼리

분류에서Dev

MySQL + 한 행의 값을 기반으로 행 업데이트

분류에서Dev

MySQL : 열의 이전 값을 기반으로 열 값 변경

분류에서Dev

매월 이전에 생성 된 모든 행을 반환하는 MySQL 쿼리

분류에서Dev

SQL 쿼리-동일한 열의 이중 조건을 기반으로하는 행 반환

분류에서Dev

MySQL 쿼리-조건이있는 행을 임의로 선택

분류에서Dev

테이블의 고유 값을 기반으로 열을 사용하여 쿼리

분류에서Dev

데이터의 모든 행을 검색하는 mysql 쿼리

분류에서Dev

데이터 프레임의 값을 기반으로 여러 AND 문을 사용하는 R의 SQL 쿼리

분류에서Dev

값을 기반으로 이전 레코드를 선택하는 SQL 쿼리

분류에서Dev

FK 값을 기반으로하는 쿼리 테이블

분류에서Dev

쿼리에 전달 된 3 개의 값을 기반으로 단일 값 반환

분류에서Dev

MYSQL IF (SELECT) 쿼리가 둘 이상의 행을 반환합니다.

Related 관련 기사

  1. 1

    mysql 쿼리의 열 값을 기반으로 행 필터링

  2. 2

    이전 쿼리를 기반으로 테이블에서 임의의 행을 선택하는 SQL 쿼리

  3. 3

    MySQL 쿼리-다른 테이블의 열 이름을 기반으로 행 값 가져 오기

  4. 4

    MySQL의 이전 행을 기반으로 값 업데이트

  5. 5

    PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

  6. 6

    PHP를 사용하여 열을 기반으로 여러 행을 업데이트하는 MySQL 쿼리

  7. 7

    단일 mysql 쿼리로 특정 날짜를 기반으로 모든 행을 업데이트하는 방법

  8. 8

    두 개의 다른 테이블의 값을 기반으로 하나의 테이블을 선택하는 MySQL 쿼리.

  9. 9

    다른 테이블 열의 값을 기반으로하는 쿼리 테이블

  10. 10

    다른 테이블의 값을 기반으로하는 SQL 쿼리

  11. 11

    두 개의 열을 기반으로 그룹이있는 MySQL 선택 쿼리

  12. 12

    MySql 'Insert Ignore into'쿼리를 사용하여 다른 테이블의 일부 값을 기반으로 레코드를 삽입하는 방법

  13. 13

    mysql 쿼리 : 열의 한 값이 아닌 열의 모든 값을 기반으로 검색

  14. 14

    쿼리 테이블의 셀 값을 기반으로 전체 행을 굵게 만들기위한 VBA 코드

  15. 15

    이전 행의 값을 기반으로하는 Groupby

  16. 16

    하위 쿼리가 둘 이상의 행을 반환 MySQL

  17. 17

    다른 테이블의 값을 기반으로 값을 선택하는 SELECT 쿼리

  18. 18

    MySQL + 한 행의 값을 기반으로 행 업데이트

  19. 19

    MySQL : 열의 이전 값을 기반으로 열 값 변경

  20. 20

    매월 이전에 생성 된 모든 행을 반환하는 MySQL 쿼리

  21. 21

    SQL 쿼리-동일한 열의 이중 조건을 기반으로하는 행 반환

  22. 22

    MySQL 쿼리-조건이있는 행을 임의로 선택

  23. 23

    테이블의 고유 값을 기반으로 열을 사용하여 쿼리

  24. 24

    데이터의 모든 행을 검색하는 mysql 쿼리

  25. 25

    데이터 프레임의 값을 기반으로 여러 AND 문을 사용하는 R의 SQL 쿼리

  26. 26

    값을 기반으로 이전 레코드를 선택하는 SQL 쿼리

  27. 27

    FK 값을 기반으로하는 쿼리 테이블

  28. 28

    쿼리에 전달 된 3 개의 값을 기반으로 단일 값 반환

  29. 29

    MYSQL IF (SELECT) 쿼리가 둘 이상의 행을 반환합니다.

뜨겁다태그

보관