다음과 같은 사용자 테이블이 있습니다. 다음 두 필드가 고정되어 있습니다. userId는 기본 키입니다.mysql에 행 번호 표시
userId name
898 abc
900 xyz
902 rrr
904 wer
제가 userid
다음 행 번호로 표시한다 발생할 경우 특정 페치. 예를 들어 userid
902
이면 결과에 3
이 표시되어야합니다.
SQL 쿼리를 작성하는 방법은 무엇입니까?
다음과 같은 사용자 테이블이 있습니다. 다음 두 필드가 고정되어 있습니다. userId는 기본 키입니다.mysql에 행 번호 표시
userId name
898 abc
900 xyz
902 rrr
904 wer
제가 userid
다음 행 번호로 표시한다 발생할 경우 특정 페치. 예를 들어 userid
902
이면 결과에 3
이 표시되어야합니다.
SQL 쿼리를 작성하는 방법은 무엇입니까?
이
set @row_num = 0;
SELECT user_id,name, @row_num := @row_num + 1 as index FROM tablename
ORDER BY user_id desc;
추가 안 함 더 이상 필드가 없습니다. 위의 userId와 이름은 고정되어 있습니다. –
@ahamedsakir 답변에 약간의 변경을 가했습니다. 이 시도. 이 경우 –
여기이
SET @a:=0;
SELECT @a:[email protected]+1 serial_number,
userId, name
FROM users;
하려고 시도하면 그냥 얻을 수있는 테이블에 자동 증가로 PK를 추가해야합니다 있지만 SQL Fiddle
NB-입니다 일련 번호가 있지만 테이블에 인덱스를 추가하여 레코드를 더 빨리 가져올 수 있습니다.
이 항상 1을 반환합니다. SELECT @a : = @ a + 1 serial_number, userId, 이름 사용자로부터 (SELECT @a : = 0) as a userId = 902; 그것은 우리가 단지 쿼리의 출력에 serial_number를 추가하기 때문에 ..... –
을 반환해야합니다. 원하는 것은 데이터베이스에 추가 열이 필요합니다 너는 그다지 원하지 않는 –
을 비교하는 동안 serial_number를 반환하지 않아야하는 3 –
PHP 작동입니까? –
일반 MySQL 쿼리 –
아래에 내 대답을 추가했습니다 –