运行MYSQL 5.5并尝试从我的IN
子句中的每个条件实质上返回仅1条记录。我不能使用DISTINCT
,因为从IN
子句开始,每个代码应附加多个不同的记录(即成本会有所不同)。下面是我要执行的操作的虚拟查询,但由于ROW_NUMBER()函数在5.5中不起作用。
'1b'可能具有多个具有不同cost
值的记录。在title
值相同的每条记录中,codes
应该始终相同。
有什么想法吗?
SELECT codes, name_place, title, cost
FROM (
SELECT *, ROW_NUMBER() OVER(PARTITION BY codes) rn
FROM MyDB.MyTable
)
WHERE codes IN ('1b', '1c', '1d', '1e')
AND rn = 1;