我有一个按 id 和 value 降序排序的表。我想以特定顺序返回与一组键匹配的所有 id。所以给定 (a5, a3) 我想返回a和b但不是d。
id value key
a 3 a5
a 2 a3
a 1 a4
b 4 a5
b 2 a3
c 6 a1
c 2 a2
d 4 a3
d 2 a5
预期的输出将是
id
a
b
到目前为止,我已经设法匹配 (a5, a3),但顺序不限。在这里,我将返回以任何顺序匹配的所有行和字段;不仅仅是身份证。
SELECT tablename.*
FROM tablename, (SELECT * FROM tablename a
WHERE key IN ('a5', 'a3')
GROUP BY id
HAVING COUNT(*) >= 1) AS result
WHERE tablename.id = result.id