[英]selecting from a table based on a distinct column
希望这是有道理的。 我有一个表中有一堆记录。 每条记录都有一个uniqueID和一个名为pro的localID。 UniqueID永远不会重复,但可以有多个具有相同localID的记录。 我正在尝试构建一个查询,即使可能有15条具有相同localID的记录,也只显示其中的一条。 任何人,没关系。 我怎么把它关掉? 我试过了:
SELECT DISTINCT id, pro FROM ProLookup WHERE pro LIKE '%" & replace(q,"'","''") & "%'"
但那没用。 “q”是搜索pro(localID)的最终用户的查询。 我不是sql的专家,所以我确定我做错了什么。 非常感谢任何和所有的帮助!
如果您可以获得最大的ID,那么这将有效。
SELECT
MAX(id) AS id,
pro
FROM ProLookup
WHERE pro LIKE '%" & replace(q,"'","''") & "%'"
GROUP BY pro
也许SELECT TOP 1 id, pro FROM ProLookup WHERE pro LIKE '%" & replace(q,"'","''") & "%'"
您的查询究竟出了什么问题? 即给出错误或不正确的数据。
额外的“是否必要?SQL Server不特别喜欢双引号,所以如果将它传递给查询,您可能需要根据您的环境将其删除。
SELECT id, pro
FROM
(
SELECT id, pro , ROW_NUMBER() OVER (PARTITION BY pro ORDER BY id) AS RN
FROM ProLookup
WHERE pro LIKE YourCondition --<-- Only if you want certain Pro ids, if you
)Q -- want all Distinct Pro Ids, take where clause
WHERE RN = 1 -- Out.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.