Sql 获取数据库中的最高值

Sql 获取数据库中的最高值,sql,vb.net,Sql,Vb.net,这是我查看所有候选人的代码,但我只想获得累积得票最多的人的姓名和选票。例如,在《总统》中,我有两位候选人,但我只想查看累积得票最多的人。听起来您只需要修改sql语句以找到最大值。像这样的方法应该会奏效: Dim elem As String elem = "College" Dim conn As New SqlClient.SqlConnection With conn .ConnectionString = ("SERVER=ANINGDZTS

这是我查看所有候选人的代码,但我只想获得累积得票最多的人的姓名和选票。例如,在《总统》中,我有两位候选人,但我只想查看累积得票最多的人。

听起来您只需要修改sql语句以找到最大值。像这样的方法应该会奏效:

    Dim elem As String
    elem = "College"
    Dim conn As New SqlClient.SqlConnection
    With conn
        .ConnectionString = ("SERVER=ANINGDZTS-PC;DATABASE=AEVS_2013;Trusted_Connection = yes;")
        .Open()
    End With

    Dim cmd As New SqlClient.SqlCommand
    With cmd
        .CommandText = "SELECT [PositionID],[Position],[Partylist],[Department],[Fullname],[Lvl],[Section],[Votes] FROM tbl_Cand WHERE [Department] = '" & elem & "'"
        .CommandType = CommandType.Text
        .CommandTimeout = 30
        .Connection = conn
    End With
    Dim dt As New DataTable
    dt.Load(cmd.ExecuteReader)

    With DataGridView1
        .AutoGenerateColumns = True
        .DataSource = dt
    End With
    vvv()

    cmd.Dispose()
    cmd = Nothing
    conn.Dispose()
    conn = Nothing

它只选择一条记录(
Top1
),并按投票列对结果排序,这样您将获得最高投票记录。

您的问题是什么?您只需修改sql即可
   .CommandText = "SELECT TOP 1 [PositionID],[Position],[Partylist],[Department],[Fullname],[Lvl],[Section],[Votes] FROM tbl_Cand WHERE [Department] = '" & elem & "'" ORDER BY [Votes] DESC