[SQL] 쿼리에 대한 행 번호를 얻기
SQL쿼리에 대한 행 번호를 얻기
나는 하나 개의 행을 반환하는 쿼리가 있습니다. 나는 테이블을 정렬 할 때 내가 쿼리있어 행의 행 인덱스를 찾을 수있는 방법이 있습니까?
나는 ROWID를 시도했지만 내가 행 # 7을 예상 할 때 # 582를 가지고있다.
예 :
CategoryID Name
I9GDS720K4 CatA
LPQTOR25XR CatB
EOQ215FT5_ CatC
K2OCS31WTM CatD
JV5FIYY4XC CatE
--> C_L7761O2U CatF <-- I want this row (#5)
OU3XC6T19K CatG
L9YKCYAYMG CatH
XKWMQ7HREG CatI
나는 예상치 못한 결과를 ROWID를 시도했다 :
SELECT rowid FROM Categories WHERE CategoryID = 'C_L7761O2U ORDER BY Name
편집 : 나는 또한 (아래) J 쿠퍼의 제안을 시도했지만, 행 번호는 바로이 아니다.
using (var cmd = conn.CreateCommand()) {
cmd.CommandText = string.Format(@"SELECT (SELECT COUNT(*) FROM Recipes AS t2 WHERE t2.RecipeID <= t1.RecipeID) AS row_Num
FROM Recipes AS t1
WHERE RecipeID = 'FB3XSAXRWD'
ORDER BY Name";
cmd.Parameters.AddWithValue("@recipeId", id);
idx = Convert.ToInt32(cmd.ExecuteScalar());
해결법
-
==============================
1.여기에 SQLite는에 행 번호를 얻을 수있는 방법은 다음과 같습니다
여기에 SQLite는에 행 번호를 얻을 수있는 방법은 다음과 같습니다
SELECT CategoryID, Name, (SELECT COUNT(*) FROM mytable AS t2 WHERE t2.Name <= t1.Name) AS row_Num FROM mytable AS t1 ORDER BY Name, CategoryID;
-
==============================
2.다음은 값의 순서를 얻을 수 Spatialite에서 사용할 수있는 재미있는 트릭입니다. 당신이 WHERE 절은 값으로 제한으로 COUNT () 함수를 사용하는 경우> = 현재 값은, 그 수는 실제로 순서를 제공 할 것입니다. 나는 그래서 만약 포인트 층은 열이 "값"과 "mypoints"와 "val_order을"이라고 :
다음은 값의 순서를 얻을 수 Spatialite에서 사용할 수있는 재미있는 트릭입니다. 당신이 WHERE 절은 값으로 제한으로 COUNT () 함수를 사용하는 경우> = 현재 값은, 그 수는 실제로 순서를 제공 할 것입니다. 나는 그래서 만약 포인트 층은 열이 "값"과 "mypoints"와 "val_order을"이라고 :
SELECT value, ( SELECT count(*) FROM mypoints AS my WHERE my.value>=mypoints.value) AS val_order FROM mypoints ORDER BY value DESC;
값의 내림차순을 제공합니다. 나는 "val_order"열이 방법을 업데이트 할 수 있습니다 :
UPDATE mypoints SET val_order = ( SELECT count(*) FROM mypoints AS my WHERE my.value>=mypoints.value );
-
==============================
3.당신은 두 가지 방법으로 설명 할 수있다 요구하고있다,하지만 난 믿고있어 당신은 무엇을 결과 테이블을 정렬 한 후 종류에 따라 해당 행 번호를하고자합니다.
당신은 두 가지 방법으로 설명 할 수있다 요구하고있다,하지만 난 믿고있어 당신은 무엇을 결과 테이블을 정렬 한 후 종류에 따라 해당 행 번호를하고자합니다.
declare @resultrow int select @resultrow = row_number() OVER (ORDER BY Name Asc) as 'Row Number' from Categories WHERE CategoryID = 'C_L776102U' select @resultrow
from https://stackoverflow.com/questions/9151706/getting-row-number-for-query by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 콜론 기호 무엇을 않습니다 ":"SQL 쿼리에 있습니까? (0) | 2020.05.22 |
---|---|
[SQL] MYSQL에서 순위를 생성하는 가장 좋은 방법은 무엇입니까? (0) | 2020.05.22 |
[SQL] (SQL의 28 개 라인을 작성하지 않고도) 28 일 슬라이딩 윈도우 집계에 대한 BigQuery의 SQL (0) | 2020.05.21 |
[SQL] LINQ 쿼리의 SQL 사용자 정의 함수를 호출 (0) | 2020.05.21 |
[SQL] 나무 테이블에 대한 SQL 쿼리 (0) | 2020.05.21 |