2017-12-22 7 views
2

I次の表があります -生のMySQLの結果のインデックスを取得します

id | name 
1 | abc 
5 | def 
9 | ghi 
10 | jkl 
11 | mno 
12 | pqr 

は私が指定したid

例のインデックスを取得したい: -

SELECT `id`, INDEX FROM `table` WHERE `id`>5 
// INDEX is the function that I want 

結果: -

id | INDEX 
9 | 3 
10 | 4 
11 | 5 
12 | 6 

私はそれをgoogledし、答えが見つかりませんでした。

ありがとうございました。

+0

id列に自動インクリメントが設定されていますか? –

+1

リレーショナルデータベースの行は、順序付けられていないセットを表します。 ORDER BY句から推論されたものを除いて、 'インデックス'はありません。 – Strawberry

+0

@MKhalidJunaidはい。しかしいくつかの開始 'id'sは –

答えて

1

id列が自動インクリメントに設定され、あなたが自己を行うことができ、複数行の場合

Demo

が参加残っている場合は、

select max(id) id,count(*) 
from demo 
where id < 9; 

することによって、これを得ることができる

select a.id,count(*) 
from demo a 
left join demo b on a.id >= b.id 
group by a.id 
having a.id > 5 

Demo

+0

私は複数のrawsが必要な場合は?私はサブクエリとしてそれを使用したいですか?または他の解決策がありますか? –

+0

@RameshKithsiriHettiArachchiは複数の行が何を意味するかを正確に、あなたの質問を更新することができます –

+0

OK。私の質問が更新されました。 –

2

id = 9 table FROM(ID (1)からカウントを選択)、idを選択します。

+1

これは完全に願っています – janith1024

+0

@ janith1024はい、それは答えです。しかし、私はサブクエリなしで答えが好きです。 –

関連する問題