[SQL] SQL 서버와 마지막 행을 읽는 방법
SQLSQL 서버와 마지막 행을 읽는 방법
SQL 서버와 마지막 행을 읽을 수있는 가장 효율적인 방법은 무엇입니까?
테이블은 고유 키에 인덱싱 -은 "아래"키 값이 마지막 행을 나타냅니다.
해결법
-
==============================
1.당신이 MS SQL을 사용하는 경우, 당신은 시도 할 수 있습니다 :
당신이 MS SQL을 사용하는 경우, 당신은 시도 할 수 있습니다 :
SELECT TOP 1 * FROM table_Name ORDER BY unique_column DESC
-
==============================
2.
select whatever,columns,you,want from mytable where mykey=(select max(mykey) from mytable);
-
==============================
3.당신은 자동 충전 기본 키 또는 날짜 열 (바람직 기본 키) 같은 테이블에 고유하게 식별 컬럼의 일종을해야합니다. 그럼 당신은이 작업을 수행 할 수 있습니다
당신은 자동 충전 기본 키 또는 날짜 열 (바람직 기본 키) 같은 테이블에 고유하게 식별 컬럼의 일종을해야합니다. 그럼 당신은이 작업을 수행 할 수 있습니다
SELECT * FROM table_name ORDER BY unique_column DESC LIMIT 1
열을 기준으로 ORDER는 열의 데이터에 따라 결과를 rearange하도록 지시하고, DESC는 (따라서 먼저 마지막 퍼팅) 결과를 반대한다는 뜻입니다. 그 후, LIMIT 1은 하나 개의 행을 다시 전달한다는 뜻입니다.
-
==============================
4.아이디 중 일부는 순서에 있다면, 난 당신의 DB에 어떤 위해가있을 것 같은데
아이디 중 일부는 순서에 있다면, 난 당신의 DB에 어떤 위해가있을 것 같은데
표 SELECT * FROM WHERE ID = (테이블에서 SELECT MAX (ID))
-
==============================
5.나는 어떤 정렬 열없이 최대 성능으로 SQL Server에 대한 작동 쿼리 아래 생각
나는 어떤 정렬 열없이 최대 성능으로 SQL Server에 대한 작동 쿼리 아래 생각
SELECT * FROM table WHERE ID not in (SELECT TOP (SELECT COUNT(1)-1 FROM table) ID FROM table)
... 당신이 그것을 이해 바랍니다 :)
-
==============================
6.나는 SQL Server 2008의 SQL 쿼리에서 마지막으로 사용 시도했지만이 ERR을 제공합니다 : " '마지막'인식 할 수없는 내장 함수 이름."
나는 SQL Server 2008의 SQL 쿼리에서 마지막으로 사용 시도했지만이 ERR을 제공합니다 : " '마지막'인식 할 수없는 내장 함수 이름."
그래서 사용하여 결국 :
select max(WorkflowStateStatusId) from WorkflowStateStatus
마지막 행의 ID를 얻을 수 있습니다. 하나는 사용할 수
Declare @i int set @i=1 select WorkflowStateStatusId from Workflow.WorkflowStateStatus where WorkflowStateStatusId not in (select top ( (select count(*) from Workflow.WorkflowStateStatus) - @i ) WorkflowStateStatusId from .WorkflowStateStatus)
-
==============================
7.이 시도
이 시도
SELECT id from comission_fees ORDER BY id DESC LIMIT 1
-
==============================
8.당신은 LAST_VALUE 사용할 수 있습니다 : SELECT LAST_VALUE (열) OVER (열 BY 열 ORDER BY 파티션) ...
당신은 LAST_VALUE 사용할 수 있습니다 : SELECT LAST_VALUE (열) OVER (열 BY 열 ORDER BY 파티션) ...
내 데이터베이스 중 하나에 그것을 테스트하고이 같은 예상했다.
당신은 여기 드 문서를 확인할 수 있습니다 https://msdn.microsoft.com/en-us/library/hh231517.aspx
-
==============================
9.MS SQL 데이터베이스 2005 테이블의 마지막 행을 검색하기 위해, 다음과 같은 쿼리를 사용할 수 있습니다 :
MS SQL 데이터베이스 2005 테이블의 마지막 행을 검색하기 위해, 다음과 같은 쿼리를 사용할 수 있습니다 :
select top 1 column_name from table_name order by column_name desc;
참고 : MS SQL 데이터베이스 2005 테이블의 첫 번째 행을 얻으려면 다음과 같은 쿼리를 사용할 수 있습니다 :
select top 1 column_name from table_name;
-
==============================
10.OFFSET하고 다음을 FETCH 결과를 표시하는 동안 SQL 페이징을 달성하기 위해 SQL 서버 2012의 기능입니다.
OFFSET하고 다음을 FETCH 결과를 표시하는 동안 SQL 페이징을 달성하기 위해 SQL 서버 2012의 기능입니다.
offset 인수는 행 수의 집합을 반환하는 데 사용되는 인수를 결과로 반환 행에 시작하는 행을 결정하고 가져 오는 데 사용됩니다.
SELECT * FROM table_name ORDER BY unique_column desc OFFSET 0 Row FETCH NEXT 1 ROW ONLY
-
==============================
11.
SELECT * from Employees where [Employee ID] = ALL (SELECT MAX([Employee ID]) from Employees)
-
==============================
12.이것은 당신이 마지막 레코드를 얻을 수 및 액세스 DB에 필드를 업데이트하는 방법입니다.
이것은 당신이 마지막 레코드를 얻을 수 및 액세스 DB에 필드를 업데이트하는 방법입니다.
업데이트 compalints 세트 TKT = addzone & '-'& customer_code & '-'및 SN 곳 SN에서 (최대 (SN을 선택) compalints에서)
-
==============================
13.당신이 어떤 주문 열이없는 경우, 각 라인의 실제 ID를 사용할 수 있습니다 :
당신이 어떤 주문 열이없는 경우, 각 라인의 실제 ID를 사용할 수 있습니다 :
SELECT top 1 sys.fn_PhysLocFormatter(%%physloc%%) AS [File:Page:Slot], T.* FROM MyTable As T order by sys.fn_PhysLocFormatter(%%physloc%%) DESC
-
==============================
14.당신이 복제 된 테이블이있는 경우, 당신은 당신이 항상 찾을 클라이언트, 현재 연결된 데이터베이스에서 마지막되지에서 마지막 수있는 마지막 ID를 잡을 그렇다면, clientDatabase의 localDatabase의 정체성 = 1000 아이덴티티 = 2000을 가질 수 있습니다. 마지막으로 연결된 데이터베이스를 반환하는 가장 좋은 방법입니다 그래서 :
당신이 복제 된 테이블이있는 경우, 당신은 당신이 항상 찾을 클라이언트, 현재 연결된 데이터베이스에서 마지막되지에서 마지막 수있는 마지막 ID를 잡을 그렇다면, clientDatabase의 localDatabase의 정체성 = 1000 아이덴티티 = 2000을 가질 수 있습니다. 마지막으로 연결된 데이터베이스를 반환하는 가장 좋은 방법입니다 그래서 :
SELECT IDENT_CURRENT('tablename')
-
==============================
15.나는 테이블에서 "마지막 값"을받지 못했습니다 글쎄, 난 금융 상품 당 마지막 값을 얻고있다. 이 같은 아니지만 나는 "지금 수행하는 방법"을 찾기 위해 찾고있는 그 어떤 관련이 같아요. 또한 ROWNUMBER ()와 CTE의 사용과 그 전에 단순히 [칼럼] 내림차순으로 한 순서를 취할. 에 그러나 우리 nolonger 필요 ...
나는 테이블에서 "마지막 값"을받지 못했습니다 글쎄, 난 금융 상품 당 마지막 값을 얻고있다. 이 같은 아니지만 나는 "지금 수행하는 방법"을 찾기 위해 찾고있는 그 어떤 관련이 같아요. 또한 ROWNUMBER ()와 CTE의 사용과 그 전에 단순히 [칼럼] 내림차순으로 한 순서를 취할. 에 그러나 우리 nolonger 필요 ...
무역을 내가 SQL 서버 2017을 사용하고, 우리는 세계 모든 거래소의 모든 틱을 기록, 우리는 우리가 각 입찰 물어 저장 ~ 120 억은 하루에 틱이 있고, 볼륨 및 진드기의 속성을 포함한 무역 (입찰 물어 ) 지정된 교류 어느.
우리는 우리가 사용하는 가격의 "마지막"을 얻을 필요가있을 때, 마지막 거래 가격은 틱 유형 = 4, 그래서 우리는 그 테이블에 주어진 계약 (주로 통계)에 대한 틱 데이터 (253 개) 유형이 있습니다 :
select distinct T.contractId, LAST_VALUE(t.Price)over(partition by t.ContractId order by created ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) from [dbo].[Tick] as T where T.TickType=4
교환 가져 오기 ETL 테이블에 데이터를 펌핑하는 동안 4 초에 실행이 매우 효율적으로 실행 내 dev에 시스템에 대한 계획이 실행을 볼 수있을 것입니다 일부 얼마나 라이브 시스템 작업의 그 ... 저를 늦추고 잠금.
-
==============================
16.
SELECT * FROM TABLE WHERE ID = (SELECT MAX(ID) FROM TABLE)
-
==============================
17.나는 확신이라고 생각합니다 :
나는 확신이라고 생각합니다 :
SELECT last(column_name) FROM table
나는 비슷한을 사용하기 때문에 :
SELECT last(id) FROM Status
from https://stackoverflow.com/questions/177323/how-to-read-the-last-row-with-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 PostgreSQL을에있는 테이블의 목록 열 이름과 데이터 유형을 얻으려면? (0) | 2020.06.04 |
---|---|
[SQL] 당신은 어떻게 T-SQL에서 기본 값 또는 유사한 제약 조건을 삭제합니까? (0) | 2020.06.04 |
[SQL] SQL ROW_NUMBER () WHERE 절에 기능 (0) | 2020.06.04 |
[SQL] PostgreSQL을 - SQL - 'TRUE'값의 계산 (0) | 2020.06.04 |
[SQL] 왜 내 SQL 키워드를 대문자로해야합니까? [복제] (0) | 2020.06.04 |