Запрос MySQL и эпоха FROM_UNIXTIME - PullRequest
0 голосов
/ 08 октября 2019

У меня проблема при заказе поля эпохи, оно не возвращает результаты, упорядоченные по дате. Затем я показываю вам свой код.

SELECT P.ID,
    MAX(CASE WHEN PM.meta_key = 'nombrem' THEN PM.meta_value END) AS nombrem,
    MAX(CASE WHEN PM.meta_key = 'generom' THEN PM.meta_value END) AS generom,
    MAX(CASE WHEN PM.meta_key = 'tiempom' THEN PM.meta_value END) AS tiempom,
    MAX(CASE WHEN PM.meta_key = 'urlm'    THEN PM.meta_value END) AS urlm,
    MAX(CASE WHEN PM.meta_key = 'imagenm' THEN PM.meta_value END) AS imagenm
FROM 
    K1nG_posts AS P
    LEFT JOIN K1nG_postmeta AS PM ON P.ID = PM.post_id 
WHERE 
    P.post_type = 'post' 
    AND (P.post_status = 'publish' OR P.post_status = 'private')  
GROUP BY P.ID, P.post_date ORDER BY FROM_UNIXTIME('tiempom')

Формат поля "tiempom" следующий:

1570480237

Я получаю следующую ошибку.

Предупреждение: # 1292 Неправильно усечено ДЕСЯТИЧНОЕ значение: 'tiempom'

1 Ответ

0 голосов
/ 08 октября 2019

вы можете либо

GROUP BY P.ID, P.post_date ORDER BY FROM_UNIXTIME(tiempom)

, либо использовать обратные кавычки `

GROUP BY P.ID, P.post_date ORDER BY FROM_UNIXTIME(`tiempom`)

Поскольку mysql считает, что вы хотите преобразовать строку 'tiempom' в datetime.

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