1

従業員 ID ごとの最大残高を選択したい SELECT ステートメントの使用に問題があります。このようなテーブルがあります。

EMPLOYE ID |  BALANCES
  c50-5050   |    100
  c50-5050   |    200
**c50-5050   |    300**
  c50-5051   |    200
**c50-5051   |    300**

アスタリスクが付いているものは、テーブルから選択したいものを示しています。

VB.net のデータグリッド ビューに表示するには、実際にこれが必要です。これを行う方法についてのアイデアはありますか?

4

4 に答える 4

3

以下のクエリを使用

select max(Balances),employe_id from table
group by employe_id
于 2013-02-18T10:36:15.540 に答える
2

-clauseROW_NUMBERで使用できます。OVER

WITH X AS
(
   SELECT [EMPLOYE ID], BALANCES,
           RN = ROW_NUMBER() OVER (PARTITION BY [EMPLOYE ID] ORDER BY BALANCES DESC)
   FROM dbo.Table
)
SELECT EMPLOYE ID, BALANCES
FROM X
WHERE RN = 1

VB.net のデータグリッド ビューに表示するには、実際にこれが必要です。これを行う方法についてのアイデアはありますか?

ADO.NET を使用すると、 a を使用して aDataAdapterを埋めることができDataTableます。

Dim table = New DataTable()
Dim sql = "see sql above"
Using con = New SqlConnection(yourConnectionString)
    Using da = New SqlDataAdapter(sql, con)
       da.Fill(table)
    End Using
End Using
DataGridView1.DataSource = table
于 2013-02-18T10:34:56.510 に答える
1

以下のコードを試してください。

SELECT EMPLOYEE_ID,MAX(balances) FROM TABLE_NAME
GROUP BY EMPLOYEE_ID;
于 2013-02-18T10:35:42.707 に答える
1

max() group byクエリでそれを行う必要があります

select max(balance), employe_id
from yourTable
group by employe_id
于 2013-02-18T10:38:23.570 に答える