select distinct id form 表1
多个字段请用GROUP BY
参考:
Private Sub Command2_Click()
Dim Sql As String
If Option1(0).Value Then '全部符合条件
Sql = "Select 号码,期号 from main where 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# order by 2 desc"
ElseIf Option1(2).Value Then '没有重复的....重复的不可见
Sql = "select 号码,期号 from main where 号码 not in(SELECT 号码 From main where 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# group by 号码 having count(*)>1) and 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# order by 1 desc"
ElseIf Option2.Value Then ''只有重复的数据
Dim Cum As String, i As Integer
For i = 1 To 7
If Option3(i - 1) Then Cum = i + 1
Next
Select Case Cum
Case 2, 3, 4, 5
Cum = "=" & Cum
Case 6
Cum = ">5"
Case 7
Sql = "7"
Case Else
Cum = ">1"
End Select
'MsgBox Cum
If Sql = "7" Then
Sql = "SELECT DISTINCT 号码, Min(期号) AS 期号 FROM main where 号码 in(SELECT 号码 From main where 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# group by 号码 having count(*)>1) and 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# GROUP BY 号码 order by 2 desc"
Else
Sql = "select 号码,期号 from main where 号码 in(SELECT 号码 From main where 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# group by 号码 having count(*)" & Cum & ") and 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# order by 1 desc"
End If
ElseIf Option1(1).Value Then '排除重复..只有一条重复的数据
Sql = "SELECT DISTINCT 号码, Min(期号) AS 期号 FROM main where 号码<>null and 时间>=#" & DateAdd("d", -Trim(Combo1.Text), Date) & "# GROUP BY 号码 order by 2 desc"
End If
ListAdd List2, Sql
AddLog "前 " & Combo1.Text & " 天数据"
End Sub
温馨提示:答案为网友推荐,仅供参考