1
在WordPress如何才能內薈萃字段值取特定的順序記錄,比如我需要獲取所有記錄ZIP_CODE(meta鍵名)是60007比第一所有領域的所有60143比60191WordPress的定製MySQL查詢
表drrr_posts
Id | post_name | content
2
3
4
22
32
43
表drrr_postmeta
id | meta_key | meta_value | post_id
1 | zip_code | 60143 | 2
2 | zip_code | 60007 | 3
3 | zip_code | 60191 | 4
4 | zip_code | 60143 | 22
5 | zip_code | 60007 | 32
6 | zip_code | 60143 | 43
我認爲問題是我傳遞ORDER BY FIELD(drrr_postmeta.meta_value沒有ZIP_CODE這是meta_key 在MySQL中我可以很容易地通過值ORDERBY像
ORDER BY FIELD(name, 'B', 'A', 'D', 'E', 'C')
這裏是我現在 有我的查詢是
SELECT SQL_CALC_FOUND_ROWS drrr_posts.ID
FROM drrr_posts
INNER JOIN drrr_term_relationships ON (drrr_posts.ID = drrr_term_relationships.object_id)
INNER JOIN drrr_postmeta ON (drrr_posts.ID = drrr_postmeta.post_id)
INNER JOIN drrr_postmeta AS mt1 ON (drrr_posts.ID = mt1.post_id)
WHERE 1 =1
AND drrr_posts.ID NOT
IN (91, 89, 87, 66)
AND (
drrr_term_relationships.term_taxonomy_id
IN (11)
)
AND drrr_posts.post_type = 'doctors'
AND (
(
drrr_posts.post_status = 'publish'
)
)
AND (
drrr_postmeta.meta_key = 'zip_code'
AND (
mt1.meta_key = 'zip_code'
AND CAST(mt1.meta_value AS SIGNED)
IN (
'60007', '60143', '60191', '60005', '60106', '60157', '60173', '60008', '60056', '60172'
)
)
)
GROUP BY drrr_posts.ID
ORDER BY FIELD(drrr_postmeta.meta_value, '60007', '60143', '60191', '60005', '60106', '60157', '60173', '60008', '60056', '60172')
LIMIT 0 , 8
返回true這給了我一個錯誤http://puu.sh/bhgAf/42811343f0.png – June 2014-09-01 19:03:39
@June現在嘗試我的糟糕的錯過逗號後desc – 2014-09-01 19:05:08
結果仍然是一樣的是否有任何手段我可以發送給你的數據庫表? – June 2014-09-01 19:06:59