2
我有以下MySQL查詢ORDER GROUP_CONCAT使用WHERE在使用值
SELECT cibor_users.ID,
cibor_users.display_name,
cibor_users.user_email,
cibor_users.user_url,
GROUP_CONCAT(meta_value) AS customer_address
FROM cibor_users
JOIN cibor_usermeta ON cibor_users.ID = cibor_usermeta.user_id
WHERE cibor_usermeta.meta_key IN ('paupress_address_one_1','paupress_address_city_1','paupress_address_state_1','paupress_address_postal_code_1','telephone','user_type','primary_business','realtor_designation')
GROUP BY cibor_usermeta.user_id
的信息,然後在表中顯示:
<td ><?php echo $row['display_name'];?></td>
<td ><?php echo $row['user_url'];?></td>
<td ><?php echo $row['user_email'];?></td>
<td ><?php echo $row['customer_address'];?></td>
的問題是,在「WHERE」值語句隨機顯示並不一致。所以我添加了ORDER BY語句:
SELECT cibor_users.ID,
cibor_users.display_name,
cibor_users.user_email,
cibor_users.user_url,
GROUP_CONCAT(meta_value ORDER BY meta_value ASC SEPARATOR ' ') AS customer_address
FROM cibor_users
JOIN cibor_usermeta ON cibor_users.ID = cibor_usermeta.user_id
WHERE cibor_usermeta.meta_key IN ('paupress_address_one_1','paupress_address_city_1','paupress_address_state_1','paupress_address_postal_code_1','telephone','user_type','primary_business','realtor_designation')
GROUP BY cibor_usermeta.user_id
但是,這個字母順序是我爲「Customer_Address」所需的信息。我需要按照與放在「WHERE」語句中相同的順序顯示信息。
我嘗試使用ORDER BY FIELD
WHERE cibor_usermeta.meta_key IN ('paupress_address_one_1','paupress_address_city_1','paupress_address_state_1','paupress_address_postal_code_1','telephone','user_type','primary_business','realtor_designation')
ORDER BY FIELD (cibor_usermeta.meta_key, ['paupress_address_one_1','paupress_address_city_1','paupress_address_state_1','paupress_address_postal_code_1','telephone','user_type','primary_business','realtor_designation'])
GROUP BY cibor_usermeta.user_id
是否有指定基礎上,凡在聲明的級聯信息的確切順序的方法嗎?
大的問題,認真撰寫等,歡迎堆棧溢出! – 2014-10-02 19:10:45