2017-07-03 49 views
0

例如,如果我在表phone_number中存儲150個電話號碼。我將如何去檢索包含555-555-5555的行號?我檢查了很多不同的查詢,但似乎我必須遍歷所有數據才能找到它。SQL:如何獲取某個記錄的行數

+1

的可能的複製[源碼獲得ROWID(https://stackoverflow.com/questions/15570096/sqlite-get-rowid) –

+0

儘管我在下面提供了一個答案,但在重新閱讀這個問題時,我想我可能誤解了你的問題。 「行號」是什麼意思,以及它將如何使用?請記住,關係數據庫表在概念上是設置的,而不是數組。 – varro

回答

0

使用ROW_NUMBER()函數...使用SQL API定義,瞭解更多的功能

好運

編輯:

例如,你有一個名爲 'TestTable的' 表,而所謂的「testId」和一列列名爲「測試名」

SELECT testId , tesName, (
    SELECT COUNT(*) FROM testTable AS a 
      WHERE a.testName <= b.Name) AS row_Num 
      FROM testTable AS b 
    ORDER BY testName, testId; 

我希望我是對的這個時候

感謝,讓我知道請是否有用,或者沒有我想我最好的

+0

SQLite不支持行號AFAIK。 –

+0

更新回答請現在檢查答案=)並對不起沒有注意到你正在問sqlite @ Weakman10122 – Abdullah

0

嘗試:

SELECT rowid FROM phone_numbers WHERE number ='555-555-5555'; 
+0

謝謝你這段代碼,它可能會提供一些即時的幫助。通過說明爲什麼這是一個很好的解決問題的辦法,一個適當的解釋會[大大提高](https://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)其教育價值,並會使其對未來具有相似但不相同問題的讀者更有用。請編輯您的答案以添加解釋,並指出適用的限制和假設。 – basvk