MYSQL Запрос для сортировки данных WordPress usermeta - PullRequest
0 голосов
/ 08 ноября 2010

Привет! Я пытаюсь выполнить запрос к базе данных WordPress usermeta, чтобы получить всех пользователей, которым назначены пользовательские meta_name и значение. Пользовательское имя / значение - это оценка (целое число). Мне нужно вернуть пользователей с наибольшим количеством баллов и ограничить запрос до 5 результатов.

У меня есть рабочее заявление, но оно действительно хочет правильно их отсортировать.

$gather_top_users = "SELECT * FROM ".$wpdb->prefix."usermeta WHERE meta_key='points' ORDER BY meta_value DESC LIMIT 5 ";

Любые идеи, почему это не правильно сортировать их в массиве?

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Привет @ estern:

WordPress 'meta_value поле равно longtext, поэтому оно не будет сортироваться как число, если вы не конвертируете его в одно, поэтому измените ORDER BY на это:

ORDER BY meta_value DESC

К этому:

ORDER BY CONVERT(meta_value,UNSIGNED) DESC

Надеюсь, это поможет.

-Mike

P.S. Возможно, вы захотите зайти на родственный сайт StackOverflow Ответы WordPress в следующий раз, когда вам понадобится помощь с WordPress. Многие энтузиасты WordPress готовы ответить на ваши вопросы по WordPress.

1 голос
/ 08 ноября 2010

Возможно, вы захотите сначала привести его к целому числу, т.е.

ORDER BY CAST(meta_value AS SIGNED) DESC

См. CAST ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...