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 關注
- 101 瀏覽
添加回答
舉報