ays在suppliers表中链接了0或1条记录,因此无需在此处分组。B) 当没有供应商数据时,可以将其设置为NULL。C) 搜索函数检索帖子,当用户搜索某些内容时,mysql查询变得更大。e、 g.在供应商上筛选帖子/在类别上筛选帖子等。这就是为什么我认
ays在suppliers表中链接了0或1条记录,因此无需在此处分组。B) 当没有供应商数据时,可以将其设置为NULL。C) 搜索函数检索帖子,当用户搜索某些内容时,mysql查询变得更大。e、 g.在供应商上筛选帖子/在类别上筛选帖子等。这就是为什么我认,mysql,optimization,query-optimization,Mysql,Optimization,Query Optimization,ays在suppliers表中链接了0或1条记录,因此无需在此处分组。B) 当没有供应商数据时,可以将其设置为NULL。C) 搜索函数检索帖子,当用户搜索某些内容时,mysql查询变得更大。e、 g.在供应商上筛选帖子/在类别上筛选帖子等。这就是为什么我认为我需要从wp_posts表开始。我之所以选择GroupBy,是因为我需要能够根据类别进行过滤。只要我无法找到更好的方法来过滤类别,我就需要使用GROUP\u CONCAT+来过滤我的帖子。我的问题在这里描述:wp\u teleapo\u供应商
ays在suppliers表中链接了0或1条记录,因此无需在此处分组。B) 当没有供应商数据时,可以将其设置为NULL。C) 搜索函数检索帖子,当用户搜索某些内容时,mysql查询变得更大。e、 g.在供应商上筛选帖子/在类别上筛选帖子等。这就是为什么我认为我需要从
wp_posts
表开始。我之所以选择GroupBy,是因为我需要能够根据类别进行过滤。只要我无法找到更好的方法来过滤类别,我就需要使用GROUP\u CONCAT
+来过滤我的帖子。我的问题在这里描述:wp\u teleapo\u供应商
确实没有主键。我现在将它添加到ID
列!亲爱的里克,问题在于分组和排序是不同的列。我更新了我的问题,你能再看一眼吗?你链接的另一个问题似乎不一样,而且可能可以很干净地解决。我提供了一个答案。我不明白这和这个问题有什么关系。
SELECT
wpp.ID, wpp.post_title, wpp.post_author,
wpp.post_status, s.supplier_company
FROM wp_posts AS wpp
LEFT JOIN wp_postmeta AS postmeta ON wpp.ID = postmeta.post_id
LEFT JOIN wp_term_relationships AS term_link ON wpp.ID = term_link.object_id
LEFT JOIN wp_terms AS terms ON term_link.term_taxonomy_id = terms.term_id
LEFT JOIN wp_teleapo_supplier AS s ON wpp.post_author = s.ID
WHERE wpp.post_type = 'post'
AND wpp.post_warning <> 'no_image'
AND wpp.post_status <> 'trash'
AND wpp.post_status <> 'auto-draft'
GROUP BY wpp.ID
ORDER BY post_date DESC
LIMIT 100 OFFSET 0
GROUP BY wpp.ID
ORDER BY post_date DESC
GROUP BY wpp.ID
ORDER BY wpp.ID DESC
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE wpp ref type_status_date,post_type,post_status post_type 62 const 3351 Using where; Using temporary; Using filesort
1 SIMPLE postmeta ref post_id post_id 8 r_11524_jtc.wpp.ID 7 Using index
1 SIMPLE term_link ref PRIMARY PRIMARY 8 r_11524_jtc.wpp.ID 92 Using index
1 SIMPLE terms eq_ref PRIMARY PRIMARY 8 r_11524_jtc.term_link.term_taxonomy_id 1 Using index
1 SIMPLE s eq_ref ID ID 4 r_11524_jtc.wpp.post_author 1
SELECT SQL_CALC_FOUND_ROWS wpp.ID, wpp.post_title, wpp.post_author,
wpp.post_status, s.supplier_company,
GROUP_CONCAT(DISTINCT terms.slug SEPARATOR ',') AS allslug,
GROUP_CONCAT(DISTINCT terms.name SEPARATOR ',') AS allcatname
FROM wp_posts AS wpp
LEFT JOIN wp_postmeta AS postmeta ON wpp.ID = postmeta.post_id
LEFT JOIN wp_term_relationships AS term_link ON wpp.ID = term_link.object_id
LEFT JOIN wp_terms AS terms ON term_link.term_taxonomy_id = terms.term_id
LEFT JOIN wp_teleapo_supplier AS s ON wpp.post_author = s.ID
WHERE wpp.post_type = 'post'
AND wpp.post_warning <> 'no_image'
AND wpp.post_status <> 'trash'
AND wpp.post_status <> 'auto-draft' /* All search on post_title
and any postmeta value */
AND (post_title LIKE '%textile%'
OR postmeta.meta_value LIKE '%textile%')
/* extra filters. The one below is an example of a filter on
the user #324 but this field can also take the username
(supplier_company) parameters etc. */
AND ( wpp.post_author LIKE '%324%'
OR ( EXISTS
( SELECT 1
FROM wp_teleapo_supplier as s2
WHERE s2.ID = wpp.post_author
AND (s2.supplier_company LIKE '%324%'
OR s2.supplier_company_kana LIKE '%324%') ) )
OR ( EXISTS
( SELECT 1
FROM wp_postmeta AS postmeta2
WHERE postmeta2.post_id = wpp.ID
AND postmeta2.meta_key = 'input_comp'
AND postmeta2.meta_value LIKE '%324%' ) ) )
GROUP BY wpp.ID /* Filter on Categories!! */
HAVING ( allcatname LIKE '%apparel-and-accessories%'
OR allslug LIKE '%apparel-and-accessories%' )
ORDER BY post_date DESC
LIMIT 20 OFFSET 0