如何删除重复项并获得最大价值

时间:2012-05-11 04:45:21

标签: mysql sql

我正在尝试构建一个SQL语句,如果存在重复项,将选择最高的id,但只选择最高值。

id - 值

  • 1491825 - 3339
  • 1491824 - 3170
  • 1491823 - 3143
  • 1491822 - 3422
  • 1491821 - 3422
  • 1491820 - 3422
  • 1491819 - 3422
  • 1491818 - 3422
  • 1491817 - 3261
  • 1491816 - 3170
  • 1491815 - 3170
  • 1491814 - 3170
  • 1491813 - 3170
  • 1491812 - 3170
  • 1491811 - 3170
  • 1491810 - 3170
  • 1491809 - 3170
  • 1491808 - 3170
  • 1491807 - 3251
  • 1491806 - 3422

预期输出

id - 值

  • 1491825 - 3339
  • 1491824 - 3170
  • 1491823 - 3143
  • 1491822 - 3422
  • 1491817 - 3261
  • 1491807 - 3251

3 个答案:

答案 0 :(得分:3)

select max(id),value From foo
group by value
order by max(id) desc

请参阅:http://www.sqlfiddle.com/#!3/4ee34/3

编辑。该死。被旁观者殴打。

答案 1 :(得分:1)

这样的东西
SELECT  MAX(id) as id
        value
FROM    YourTable
GROUP BY value

答案 2 :(得分:-1)

MAX()函数为真,最佳答案