SQL查询限制为IN子句中包含的每个条件1个返回

时间:2019-07-18 14:15:07

标签: mysql mysql-workbench

运行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;

0 个答案:

没有答案