我正在尝试在mysql表中针对ticket_id选择重复条目的最新条目,我的当前是这样的。
SELECT * ,
COUNT(*) AS cnt ,
ticket_id
FROM temp_tickets
GROUP BY ticket_id
ORDER BY id DESC
它给出了一行重复的次数,但是我可以选择那些多行的最新行
假设我有3个ticket_id,它被重复了5次,所以现在我想从所有这3个id中选择最新的事件。
Lemme知道我是否必须更具体。
由于
答案 0 :(得分:5)
这是一种方式(假设“最新”意味着“最大身份”)
SELECT temp_tickets.*
FROM temp_tickets
JOIN ( SELECT MAX(id) AS id
FROM temp_tickets
GROUP BY ticket_id
HAVING COUNT(*) > 1
) latest ON latest.id = temp_tickets.id
我怀疑有可能提出一个更有效的解决方案involving user variables,但我会将其留给其他人......
答案 1 :(得分:0)
SELECT distinct *
FROM temp_tickets
GROUP BY ticket_id
ORDER BY id DESC