REMOVE_REPEATS не работает в SphinxQL - PullRequest
0 голосов
/ 20 февраля 2019

в документе написано REMOVE_REPEATS ( result_set, column, offset, limit ) - removes repeated adjusted rows with the same 'column' value., но когда я запускаю select remove_repeats((select * from rt), gid, 0, 10), запись gid=22 появляется дважды. Разве она не появляется только один раз?

mysql> select remove_repeats( (select * from rt),gid,0,10);
+------+------+
| id   | gid  |
+------+------+
|    1 |   11 |
|    2 |   22 |
|    3 |   33 |
|    4 |   22 |
+------+------+
4 rows in set (0.00 sec)

1 Ответ

0 голосов
/ 20 февраля 2019

REMOVE_REPEATS () удаляет только повторяющиеся строки, идущие друг за другом.В вашем случае вы можете удалить второе вхождение gid = 22, если вы заказываете подзапрос по gid:

mysql> select remove_repeats( (select * from rt order by gid asc),gid,0,10);
+------+------+
| id   | gid  |
+------+------+
|    1 |   11 |
|    2 |   22 |
|    3 |   33 |
+------+------+
3 rows in set (0.00 sec)
...