MYSQL-当前一行具有相同列的值时,如何显示该行并跳过重复的行?

MYSQL-当前一行具有相同列的值时,如何显示该行并跳过重复的行?,mysql,sql,Mysql,Sql,如何显示记录的第一行,并跳过与第一列值匹配的列值相同的其余重复行 例如,我希望跳过id:6、7、8,因为id:6、7、8的值在id:4中的值之后重复,而继续显示id:10、12,因为id:10、12的上一个值没有重复 您可以使用LAG使用以下解决方案: 不要将图像链接用于数据。你试过什么吗?我不明白为什么选择id 10和12?它们是重复的,对吗?为什么是9,10,11,12?这些值在前面是可用的。@Gosfly-我不确定,但我想我遇到了他的问题:他想过滤红色行,因为每个红色行前面的值都是相同的,

如何显示记录的第一行,并跳过与第一列值匹配的列值相同的其余重复行

例如,我希望跳过id:6、7、8,因为id:6、7、8的值在id:4中的值之后重复,而继续显示id:10、12,因为id:10、12的上一个值没有重复


您可以使用LAG使用以下解决方案:


不要将图像链接用于数据。你试过什么吗?我不明白为什么选择id 10和12?它们是重复的,对吗?为什么是9,10,11,12?这些值在前面是可用的。@Gosfly-我不确定,但我想我遇到了他的问题:他想过滤红色行,因为每个红色行前面的值都是相同的,具有相同的名称和客户id。是的,最终得到了它,这要感谢您下面的回答,您的解决方案很好,请投票!
SELECT t.id, t.client_id, t.name, t.value, t.`date`
FROM (
  SELECT *, LAG(value) OVER (PARTITION BY client_id, name ORDER BY ID) AS lastValue
  FROM tableA
) t WHERE t.value <> t.lastValue OR t.lastValue IS NULL
ORDER BY ID