Strings are denoted with Single Quotes.
WHERE titles.price > '13'
If your price column is an int/decimal/float (or any numeric) datatype, you don't have to use a string.
WHERE titles.price > 13
Probably better to use the second WHERE, as it is comparing the NUMERIC values, rather than the string values. Even if the price column IS a string, it will CONVERT the value to a number in order to compare it against the 13. It doesn't perform as well, but it is more accurate vs. comparing strings.
Also, your WHERE goes before your ORDER BY.
Edit: the code below explains the difference between comparing numbers implicitly and comparing numbers as strings. The commented WHERE clause yields different results due to the fact that it CONVERTS the price (StringNumber) column to a number before it compares it.
(SELECT '1' AS StringNumber
UNION SELECT '2'
UNION SELECT '3'
UNION SELECT '12'
UNION SELECT '23'
WHERE StringNumber > '13'
--WHERE StringNumber > 13