-1

我正在尝试从 mysql db 中选择不同的记录。但我无法做到这一点。

这是表格:

id,  f2,      f3,         f4
1,   a1,      mytext,     t1
2,   a2,      mytext,     t2
3,   a2,      mytext,     t3
4,   a3,      mytext,     t4
5,   a1,      mytext,     t5
6,   a5,      mytext,     t6

我正在尝试获得不同的 f2 结果:

id,  f2,       f3,         f4
3,   a2,      mytext,      t3
4,   a3,      mytext,      t4
5,   a1,      mytext,      t5
6,   a5,      mytext,      t6

可以给我什么是确切的 SQL 查询?

4

3 回答 3

2
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT f2, MAX(f4) maxVal
            FROM tableName
            GROUP BY f2
        ) b ON  a.f2 = b.f2 AND
                a.f4 = b.maxVAL
于 2012-12-23T11:18:44.777 回答
0

如果你真的在寻找distinct

然后在这里你的sql

      SELECT  distinct f2 ,id, f3, f4  FROM TableName
         group by f2

演示

编辑 :

这正是你想要的 演示

于 2012-12-23T11:39:08.563 回答
-1

如果您提供了更多信息,那么查询可能会更加优化并根据您的要求。

SELECT * FROM mytable GROUP BY f2
于 2012-12-23T11:18:17.600 回答