MySql version is 5.0.45. First,I need to user PARTITION,RANK(),ROW_NUMBER() operator in query. But this version isn't support. So I must to use this ways instead:
SELECT t.*,
@rownum := @rownum + 1 AS rank
FROM YOUR_TABLE t,
(SELECT @rownum := 0) r
But MySql.Data.MySqlClient seems not support the operator(:=)
Using MySql.Data.MySqlClient
Dim con As MySqlConnection
Dim cmd As MySqlCommand
Dim myAdapter As MySqlDataAdapter
con = New MySqlConnection
con.ConnectionString = "...."
con.Open()
cmd = New MySqlCommand(strQuery, con)
myAdapter = New MySqlDataAdapter
myAdapter.SelectCommand = cmd
myAdapter.SelectCommand.Parameters.AddWithValue("@rownum", 0)
myAdapter.Fill(datatable)
con.Close()
End Using
It has some error like this
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':= 0'
How to set variable in SELECT?