Использование различных и порядок в MySQL, но он не удаляет дубликаты данных - PullRequest
0 голосов
/ 28 июня 2018

Я не знаю, почему он не удалил дубликаты данных, когда я выполняю sql

SELECT DISTINCT
    account_id
FROM
    t_profit_sum_archive
WHERE
    profit_id >= 52487444
ORDER BY
    profit_id
LIMIT 10000000;

Это таблица account.

profit_id  account_id     type   am   profit   date_settled      time_create    time_update
    1   4425211956666666666 4     0      0     2018-04-24   2018-05-15 10:57:21 2018-05-15 10:57:21
    2   5422433335611061810 4   3000000 340    2018-04-24   2018-05-15 10:57:21 2018-05-15 10:57:21
    3   3102301983522434928 4     0      0     2018-04-25   2018-05-15 10:57:21 2018-05-15 10:57:21
    4   4425211956666666666 4   3000000 340    2018-04-25   2018-05-15 10:57:21 2018-05-15 10:57:21

Я действительно не знаю почему? Я думаю, возможно, причина в том, что в таблице слишком много данных (78926576 строк), потому что когда я тестирую другую таблицу (230000 строк), это нормально. Структура таблицы следующая:

profit_id   bigint  
account_id  varchar 
type    char    
am  bigint                  
profit  bigint  
date_settled    date    
time_create datetime    
time_update datetime

1 Ответ

0 голосов
/ 28 июня 2018

Используйте подзапрос, чтобы удалить все дубликаты, затем извлеките первые 10000000 записей.

SELECT 
   A.account_id
FROM
(SELECT DISTINCT
    account_id
FROM
    t_profit_sum_archive
WHERE
    profit_id >= 52487444
ORDER BY
    profit_id) A
LIMIT 10000000;
...