我有下表:
id | value | data | v
1 | val1 | dat1 | 1
2 | val1 | dat2 | 2
3 | val1 | dat3 | 3
4 | val2 | dat4 | 1
我所做的就是抓住data
,每个value
,其v
更高。
不,我的意思..
我想要的SQL输出:
id | value | data | v
3 | val1 | dat3 | 3
4 | val2 | dat4 | 1
答案 0 :(得分:4)
您需要识别子查询中的最大值,然后加入常量元素
select *
from
Table1
join
(select max(v) MAXV, value from Table1 group by value) T
on T.MAXV = Table1.v and T.value=Table1.value
答案 1 :(得分:0)
正如gillyspy已经评论过的,你需要的是一个返回正确值的子查询。检查此代码:
SELECT id, table1.value, data, v
FROM Table1
JOIN (SELECT MAX(v) MAXV, value
FROM Table1
GROUP BY value
) T ON T.MAXV = Table1.v
AND T.value = Table1.value;