【发布时间】:2021-04-11 13:06:23
【问题描述】:
我的数据集如下所示:
| internal_id | match_id | company_id | market_id | selection_id | odd_value | update_date |
|---|---|---|---|---|---|---|
| 1 | 8576748 | 66 | 1 | 1 | 1.31 | 2021-01-05 17:59:41 |
| 36730 | 8576748 | 66 | 1 | 1 | 1.30 | 2021-01-05 18:58:41 |
| 47053 | 8576748 | 66 | 1 | 1 | 1.31 | 2021-01-05 19:59:41 |
| 2 | 8576748 | 66 | 1 | 2 | 14.00 | 2021-01-05 17:59:41 |
| 36731 | 8576748 | 66 | 1 | 2 | 14.00 | 2021-01-05 18:58:41 |
| 47054 | 8576748 | 66 | 1 | 2 | 14.00 | 2021-01-05 19:59:41 |
| 3 | 8576748 | 66 | 1 | 3 | 3.75 | 2021-01-05 17:59:41 |
| 36732 | 8576748 | 66 | 1 | 3 | 3.75 | 2021-01-05 18:58:41 |
| 47055 | 8576748 | 66 | 1 | 3 | 3.75 | 2021-01-05 19:59:41 |
我需要删除相同 match_id+company_id+market_id+selection_id 的先前奇数值相同的行。在此示例中,应删除 internal_id 为 36731、47054、36732、47055 的行。
如您所见,这不是重复删除,第 1 行和第 47053 行是相同的(对于 match_id+company_id+market_id+selection_id),但它们应该保持原样,因为odd_value 1,30(对于 internal_id 36730)是不同的比之前的奇值和奇值 1,31(对于 internal_id 47053)与之前的奇值不同。
为了列出这些数据,我使用了这个查询:
SELECT
`internal_id`,
`match_id`,
`company_id`,
`market_id`,
`selection_id`,
`odd_value`,
`update_date`
FROM
`odds`
WHERE
`match_id` = 8576748
AND `company_id` = 66
ORDER BY `match_id`, `company_id`, `market_id`, `selection_id`, `update_date`
【问题讨论】: