> 백엔드 개발 > PHP 튜토리얼 > MySQL에서 모든 사용자의 최신 정보를 쿼리하는 방법은 무엇입니까?

MySQL에서 모든 사용자의 최신 정보를 쿼리하는 방법은 무엇입니까?

WBOY
풀어 주다: 2016-08-04 09:21:27
원래의
1103명이 탐색했습니다.

그룹별을 사용하려고 했는데 최신 항목만 표시되지 않고 첫 번째 항목만 표시됩니다.
시간 설명별로 순서를 추가하고 싶었는데, orber by는 그룹별 이후에만 추가할 수 있습니다.

group by의 각 그룹에서 가장 큰 또는 가장 작은 데이터 행을 쿼리할 수 있는 방법이 있나요?

답글 내용:

그룹별을 사용하려고 했는데 최신 항목만 표시되지 않고 첫 번째 항목만 표시됩니다.
시간 설명별로 순서를 추가하고 싶었는데, orber by는 그룹별 이후에만 추가할 수 있습니다.

group by의 각 그룹에서 가장 큰 또는 가장 작은 데이터 행을 쿼리할 수 있는 방법이 있나요?

옵션 1: 동일한 테이블 하위 쿼리 또는 조인을 통해 가장 큰 데이터 ID 찾기

<code>select * from track where id in(select max(id)  from track group by target_id);

or

select * from track where id in(select substring_index(group_concat(id order by id desc),',',1) as maxid from track group by target_id);</code>
로그인 후 복사

옵션 2: 두 단계로 쿼리합니다. 먼저 PHP에서 최대 ID를 쿼리한 다음 ID 배열을 통해 목록 데이터를 쿼리합니다

a.* 선택(사용자 ID별로 정보 그룹에서 ID로 max(id) 선택) b 왼쪽 조인 정보 a a.id=b.id

쿼리 결과를 저장하고 다시 검색하세요

사용 order by

<code>select * from ( 
    select (@mycnt := @mycnt + 1) as ROWNUM,name,age
    from tb where AGe < 20 order by name,age 
) as A where ROWNUM = 1
</code>
로그인 후 복사

SqlServer만 이해하세요. SqlServer를 모방하여 작성되었으니 직접 사용해 보세요.

<code>SELECT a.id, a.user_id, a.info, a.create_time
    FROM (SELECT id, user_id, info, create_time FROM tbl_user 
        ORDER BY user_id, create_time DESC, id DESC) a
    GROUP BY a.user_id</code>
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿