I have table in MySQL database where one column type is longtext and there are stored numbers. I need to get content from table sorted by numbers in that column.
SELECT * FROM wp_postmeta WHERE meta_key = 'rating_avg' ORDER BY meta_value
With this query sorting is not proper and looks like:
0
1.6
10
5
but I need like this:
10
5
1.6
0
I may not change column type, because this column have many different types of data. Is there any possibility to change column type temporary in SQL query?
What you are looking for is
CAST
.Your SQL Query should look like this:
It's been over a year since the question was asked, but for reference to anyone that came here after the search, the answer is
so the query should be:
This can also be accomplished through native WordPress functions without having to resort to raw SQL. Give WP_Query an orderby parameter of
meta_value_num
rather thanmeta_value
(reference).