' machine_id time_schedule product_quantity
' 1 100
' 1 200
' 1 100 << find this value(100)
' 2 05:00:00
' 2 10:00:00
' 2 15:00:00 << find this value(15:00:00)
' 3 100
' 3 300 << find this value(300)
' 4 200
' 4 100
' 4 50 << find this value(50)
如何使用vb.net找到mysql数据库中每个machine_id的最后几行?感谢
Private Sub btnAddSchedule_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddSchedule.Click
Try
Dim ts As TimeSpan = TimeSpan.Parse(Me.dtpSchedule.Text
' PROBLEM IN HERE ???
Dim rwFound As DataRow = MyDataset.Tables("totalizer_setting").Rows.Find( ??? )
If IsNothing(rwFound) Then
Dim rw As DataRow = MyDataset.Tables("totalizer_setting").NewRow
rw("machine_id") = Me.txtMachineID.Text
rw("time_schedule") = ts
rw("product_quantity") = DBNull.Value
MyDataset.Tables("totalizer_setting").Rows.Add(rw)
Dim sql As String = String.Format("INSERT INTO {0}.totalizer_setting (machine_id, time_schedule, product_quantity) VALUES ({1});", varSchema, "@machine_id, @time_schedule, @product_quantity")
Dim cmd As New MySqlCommand(sql, objCon)
cmd.Parameters.AddWithValue("@machine_id", Me.txtMachineID.Text)
cmd.Parameters.AddWithValue("@time_schedule", ts)
cmd.Parameters.AddWithValue("@product_quantity", DBNull.Value)
MyDataAdapter.InsertCommand = cmd
MyDataAdapter.Update(MyDataset, "totalizer_setting")
cmd.Dispose()
End If
Catch ex As MySqlException
MessageBox.Show("Error occurred in btnAddSchedule_Click Function" & vbCrLf & ex.Number & " – " & ex.Message)
End Try
End Sub
答案 0 :(得分:2)
这样的事情应该有效
select last(time_schedule), last(product_quality) from yourTable group by machine_id
再想一想,如果mysql有last()
函数(sql server),我就不是。如果mysql没有,您可以使用反向排序的first()
或查看this post的答案