表结构:
不能选择具有最大删除日期的记录,这些记录按一个代码分组,条件是它们全部被删除。如果记录的代码相同,但删除状态不同,则不需要选择这些记录。在本例中,选择id=3、id=4的记录。
SELECT * FROM analyzes_test WHERE code IN (SELECT code FROM analyzes_test GROUP BY code HAVING count(code)>1) AND deleted = (max deleted_date)
但我不知道如何用最长的日期来代替删除。请告诉我谁对sql有更多的经验。
3条答案
按热度按时间l2osamch1#
尝试以下简单查询-:
uurity8g2#
您可以在max date group by code上使用内部联接
或者如果您不希望代码的结果只有a可以使用的行
1hdlvixo3#
试试这个:
GROUP BY
以及HAVING
将有助于检索每个代码的最大日期并将其用作subquery
要检索表的所有信息,请执行以下操作: