2 回答

TA贡献1805条经验 获得超9个赞
这样做:
SELECT *
FROM odds
a inner join (SELECT time_stamp, fix_id
FROM odds
GROUP BY time_stamp, fix_id
HAVING COUNT(*) > 1) b on a.fix_id = b.fix_id and a.time_stamp = b.time_stamp
WHERE a.fix_id='245679'

TA贡献1936条经验 获得超7个赞
我建议使用:not exists
SELECT o.*
FROM odds o
WHERE EXISTS (SELECT 1
FROM odds o2
WHERE o2.time_stamp = o.time_stamp AND
o2.fix_id = o.fix_id AND
o2.id <> o.id
)
WHERE a.fix_id = 245679;
在子查询中使用聚合是一个坏习惯,当或做这个技巧时。聚合需要处理所有数据,而 / 可以停止在第一个匹配记录。EXISTSNOT EXISTSEXISTSNOT EXISTS
- 2 回答
- 0 关注
- 109 浏览
添加回答
举报