我有一张包含一些搜索结果的表格。可以重复搜索结果,因为可以使用不同的度量来找到每个结果。我想查询此表,只使用ID列选择不同的结果。总结一下,我有一个带有ID列的表,但ID可能会重复,我想只选择一个带有MS Access SQL的ID,我应该怎么做呢?
好的我在尝试了几个建议之后还有一些信息。 Mins和Maxes将无法工作,因为它们所操作的列无法显示。我收到类似You tried to execute a query that does not include the specified expression...
的错误我现在已经对所有数据进行了排序,这就是它的样子
ID|Description|searchScore
97 test 1
97 test .95
120 ball .94
97 test .8
120 ball .7
所以问题在于,由于使用不同的搜索条件将行放入表中,因此我有不同分数的重复行。我想要做的是只选择按ID
降序排序的每个searchScore
中的一个。有任何想法吗?
答案 0 :(得分:2)
SELECT DISTINCT ID
FROM Search_Table;
根据您问题的上次更新,以下查询似乎合适。
SELECT ID, [Description], Max(searchScore)
FROM Search_Table
GROUP BY ID, [Description];
然而这与昨天戈登的建议几乎相同,所以我不确定这是否是你想要的。
答案 1 :(得分:1)
以下是一种可以获得搜索条件的方法:
select id, min(search_criteria)
from t
group by id
这将始终按字母顺序返回第一个。您也可以使用max()
轻松获取最后一个。
你也可以使用:
select id, first(search_criteria)
from t
group by id