Есть БД Wordpress. В таблице postmeta есть метаданные дата (date, формат
YYYYmmdd
) и название (name), по этим полям есть сортировка на сайте. В основном эти поля создаются/заполняются с помощью апи и функций плагина acf(update_field, for example), но можно создать и вручную. Проблема следующего характера:
Создали к пример 100 записей с помощью api, а следом 10 записей вручную сделали.
При сортировке по убыванию (DESC) происходит как бы 2 сортировки для апи и ручной, т.е. в начале идут все даты или название по убыванию, которые созданы вручную, а затем по убыванию для апи. и получается сортировка примерно такая (пример для даты):
Для названия ситуация аналогичная.
Такую сортировку выдает не Wordpress, а MySQL в чистом виде, поэтому я не могу понять в чем дело.
Может кто сталкивался с подобной проблемой?
MySQL запросSELECT pm.meta_value FROM postmeta pm
WHERE pm.meta_key = 'name' # or date
ORDER BY pm.meta_value DESC
# Если для даты еще помогает ORDER BY pm.meta_value+0 DESC, то вот для названия...