Я использую mysql 5.5.24, и работает следующий код:
select * from (
SELECT `users`.`first_name`, `users`.`last_name`, `users`.`email`,
SUBSTRING(`locations`.`raw`,-6,4) AS `guaranteed_postcode`
FROM `users` LEFT OUTER JOIN `locations`
ON `users`.`id` = `locations`.`user_id`
) as a
WHERE guaranteed_postcode NOT IN --this is where the fake col is being used
(
SELECT `postcode` FROM `postcodes` WHERE `region` IN
(
'australia'
)
)
Матчи могут иметь одинаковый старт.
blockquote>Это нарушает ограничения, которые контейнеры используют для отслеживания своих элементов.
- Вы не можете изменить порядок сортировки элемента, находящегося в контейнере. Контейнер не знает, что порядок сортировки изменился.
- Объекты должны быть разными.
Если вы прочитали документацию для
sortedset
, она четко заявляет :Хэш и общий порядок значений не должны меняться, пока они хранятся в отсортированном наборе.
blockquote>
- Там даже не существует полный порядок для ваших элементов, потому что существует
x != y
, где он не является истинным, чтоx < y
илиx > y
.- Вы вообще не упоминали
__hash__
.Я не уверен, как вы ожидаете решения этих проблем, так как я не знаком с вашим кодом, и для их решения может потребоваться некоторая редизайн. Однако эти проблемы вызывают неожиданное поведение в вашей программе.
start
, но (1) вы не можете изменить общий порядок объектов в коллекции и (2) вы не можете изменить хэш любого объекта в коллекции. В общем, самый простой способ сделать это - просто не изменять ключи объектов, пока они находятся в коллекциях, а самый простой способ сделать это - сделать ключи объектов неизменными. Конечно, вы можете сделать все для себя. Но, вероятно, проще перепроектировать вашу систему, поэтому вам не нужно менять ключи объектов для объектов в коллекциях. – Dietrich Epp 13 July 2018 в 15:48Match
объекты. Этоmatch.start
, что изменилось. Как я могу изменить порядок объектов? – dabadaba 13 July 2018 в 15:50