【发布时间】:2017-01-29 23:15:47
【问题描述】:
我在 Excel VBA 中使用以下 SQL 代码从 PostGreSQL 导入数据:
Const sqlconnection = "Provider=visoledb;"
Dim conn As New Connection
conn.ConnectionString = sqlconnection
conn.Open
Dim rs As Recordset
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "FR"
Sheets("FR").Select
Range("A1").Select
DIm fr As String
fr = "SELECT master_id, eventdate, num_result " _
& "FROM fr INNER JOIN person p ON fr.master_id=p.entity_id AND p.auditflag=1 " _
& "WHERE fr.auditflag=1 AND num_result IS NOT NULL AND num_result <> 0 " _
& "ORDER BY master_id "
Set rs = conn.Execute(fr)
With ActiveSheet.QueryTables.Add(Connection:=rs, Destination:=Range("A1"))
.Refresh
End With
rs.Close
它为我提供了表中每个人的所有记录值。
我被告知我不能使用LIMIT,所以我该如何限制它只显示每个人的最后 5 条记录。
【问题讨论】:
-
哪一列用于对记录进行排序?
标签: sql postgresql excel vba