语句完成后,在其他查询中选择不同的字段

时间:2012-12-23 11:15:47

标签: mysql sql select

我正在尝试从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查询?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

如果你真的在寻找distinct

然后在这里你的sql

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

demo

编辑:

这正是你想要的demo here

答案 2 :(得分:-1)

如果您有更多信息,则可以根据您的要求对查询进行更优化。

SELECT * FROM mytable GROUP BY f2