복붙노트

[SQL] 어떻게 SQL에서 테이블의 마지막 레코드를 선택하려면?

SQL

어떻게 SQL에서 테이블의 마지막 레코드를 선택하려면?

이 테이블에서 모든 레코드를 선택하는 샘플 코드입니다. 사람이 어떻게 테이블의 마지막 레코드를 선택하는 저를 게재 할 수 있습니까?

select * from table

표 ORDER BY ID DESC LIMIT SELECT * FROM :을 내가 사용하는 경우 줄 1 : 'LIMIT'근처의 구문이 잘못 나는이 오류가 발생합니다. 이 코드 I를 사용하는 것입니다 :

private void LastRecord()
{
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HELPDESK_OUTLOOKConnectionString3"].ToString());

    conn.Open();
    SqlDataReader myReader = null;
    SqlCommand myCommand = new SqlCommand("SELECT * FROM HD_AANVRAGEN ORDER BY " +
                "aanvraag_id DESC LIMIT 1", conn);
    myReader = myCommand.ExecuteReader();
    while (myReader.Read())
    {
        TextBox1.Text = (myReader["aanvraag_id"].ToString());
        TextBox1.Text += (myReader["wijziging_nummer"].ToString());
        TextBox1.Text += (myReader["melding_id"].ToString());
        TextBox1.Text += (myReader["aanvraag_titel"].ToString());
        TextBox1.Text += (myReader["aanvraag_omschrijving"].ToString());
        TextBox1.Text += (myReader["doorlooptijd_id"].ToString());
        TextBox1.Text += (myReader["rapporteren"].ToString());
        TextBox1.Text += (myReader["werknemer_id"].ToString());
        TextBox1.Text += (myReader["outlook_id"].ToString());
    }
}

해결법

  1. ==============================

    1.우리가 할 수있는 최선은 같은 것입니다 등 데이터베이스 더 정보 없음

    우리가 할 수있는 최선은 같은 것입니다 등 데이터베이스 더 정보 없음

    SQL 서버

    SELECT TOP 1 * FROM Table ORDER BY ID DESC
    

    MySQL을

    SELECT * FROM Table ORDER BY ID DESC LIMIT 1
    
  2. ==============================

    2.당신은 ID 열이 가정 :

    당신은 ID 열이 가정 :

    SELECT TOP 1 *
      FROM table
     ORDER
        BY Id DESC;
    

    또한,이 SQL 서버에서 작동합니다. 난 당신이 사용해야 할 수도 있습니다 MySQL의 생각 :

    SELECT *
      FROM table
     ORDER
        BY Id DESC
     LIMIT 1
    

    그러나, 나는 이것에 대해 확실히 100 % 아니에요.

    편집하다

    다른 답변을 보면, 지금 내가 MySQL의 문을 정확 해요 것을 100 % 확신 : O)

    편집하다

    다만 최근의 코멘트를 본. 당신은 할 수 있습니다 :

    SELECT MAX(Id)
      FROM table
    

    이것은 당신에게 가장 높은 ID 번호를 받게됩니다.

  3. ==============================

    3.SQL과 데이터베이스의 마지막 행을 얻으려면이 SQL 문자열을 사용 :

    SQL과 데이터베이스의 마지막 행을 얻으려면이 SQL 문자열을 사용 :

    SELECT * FROM TableName WHERE id=(SELECT max(id) FROM TableName);
    

    산출:

    당신의 데시벨의 마지막 라인!

  4. ==============================

    4.

    SELECT * FROM TABLE ORDER BY ID DESC LIMIT 1
    

    예 이것은 SQL 서버 mysql을 수 있습니다 :

    SELECT TOP 1 * FROM Table ORDER BY ID DESC
    
  5. ==============================

    5.

    SELECT * FROM table ORDER BY Id DESC LIMIT 1
    
  6. ==============================

    6.당신이 당신의 순서를 반전 할 때 마지막으로는 처음이다.

    당신이 당신의 순서를 반전 할 때 마지막으로는 처음이다.

  7. ==============================

    7.오라클, 당신은 할 수 있습니다 :

    오라클, 당신은 할 수 있습니다 :

    SELECT *
    FROM (SELECT EMP.*,ROWNUM FROM EMP ORDER BY ROWNUM DESC)
    WHERE ROWNUM=1;
    

    이것은 가능한 방법 중 하나입니다.

  8. ==============================

    8.

    select ADU.itemid, ADU.startdate, internalcostprice 
    from ADUITEMINTERNALCOSTPRICE ADU
    
    right join
    
       (select max(STARTDATE) as Max_date, itemid 
       from ADUITEMINTERNALCOSTPRICE
       group by itemid) as A
    
    on A.ITEMID = ADU.ITEMID
    and startdate= Max_date
    
  9. ==============================

    9.항상 자동 행 식별자를 가지고 테이블 디자인에서 좋은 연습 등이다

    항상 자동 행 식별자를 가지고 테이블 디자인에서 좋은 연습 등이다

     [RowID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL
    

    , 당신은에 의해 마지막 행을 식별 할 수

     select * from yourTable where rowID =  @@IDENTITY 
    
  10. ==============================

    10.내가 그것을 할한다고 생각합니다.

    내가 그것을 할한다고 생각합니다.

    declare @x int;
    select @x = max(id) from table_name;
    select * from where id = @x;
    
  11. ==============================

    11.당신이 자동 증가 필드 (말의 ID)가있는 경우 다음과 같은 일을 할 수 있습니다 : foo에 SELECT * FROM WHERE ID = (SELECT FROM foo를 최대 (ID))

    당신이 자동 증가 필드 (말의 ID)가있는 경우 다음과 같은 일을 할 수 있습니다 : foo에 SELECT * FROM WHERE ID = (SELECT FROM foo를 최대 (ID))

  12. ==============================

    12.나는 리카르도을 upvoted. 실제로 최대 정렬보다 훨씬 효율적이다. 차이를 참조하십시오. 뛰어난.

    나는 리카르도을 upvoted. 실제로 최대 정렬보다 훨씬 효율적이다. 차이를 참조하십시오. 뛰어난.

    나는 (타임 스탬프) 마지막 행 / 업데이트 기록을 얻어야했다

    `sqlite> select timeStamp from mypadatav2 order by timeStamp desc limit 1;
     2020-03-11 23:55:00
     Run Time: real 1.806 user 1.689242 sys 0.117062`
    
    `sqlite> select max(timeStamp) from mypadatav2;
     2020-03-11 23:55:00
     Run Time: real 0.553 user 0.412618 sys 0.134340`
    
  13. ==============================

    13.

    $sql="SELECT tot_visit FROM visitors WHERE date = DATE(NOW()) - 1 into @s                
    $conn->query($sql);
    $sql = "INSERT INTO visitors (nbvisit_day,date,tot_visit) VALUES (1,CURRENT_DATE,@s+1)";
    $conn->query($sql);
    
  14. ==============================

    14.당신은 또한이 같은 작업을 수행 할 수 있습니다 :

    당신은 또한이 같은 작업을 수행 할 수 있습니다 :

    TABLE_NAME FROM LAST_CUSTOMER AS SELECT LAST (COLUMN_NAME);

  15. from https://stackoverflow.com/questions/5191503/how-to-select-the-last-record-of-a-table-in-sql by cc-by-sa and MIT license