我有这个SQL查询
SELECT id, meta_key, meta_value,
FROM wp_posts post
INNER JOIN wp_postmeta meta
ON post.ID = meta.POST_ID
WHERE post.post_status = 'publish'
AND ( meta.meta_key = 'brand' OR meta.meta_key = 'price' )
其结果如下所示
id --|-- meta_key --|-- meta_value
-----------------------------------
42 --|-- brand --|-- mercedes
44 --|-- brand --|-- honda
46 --|-- brand --|-- honda
42 --|-- price --|-- 20
44 --|-- price --|-- 20
46 --|-- price --|-- 50
我怎么才能达到这样的结果呢?
brand --|-- UNIQUE ID COUNT --|-- Total price sum of IDs relating to brand
----------------------------------------------
honda --|------- 2 ----------|-- 70
mercedes|------- 1 ----------|-- 20
我确实try 为品牌和价格设置了另一个结果栏,但仍然不太确定如何对结果进行分组
SELECT id, meta_key, meta_value,
(CASE WHEN meta_key = 'brand' THEN meta_value END) as brand,
(CASE WHEN meta_key = 'price' THEN meta_value END) as price
FROM wp_posts post
INNER JOIN wp_postmeta meta
ON post.ID = meta.POST_ID
WHERE post.post_status = 'publish'
AND ( meta.meta_key = 'brand' OR meta.meta_key = 'price' )
结果就是这样
id --|-- meta_key --|-- meta_value --|-- brand --|-- Price
--------------------------------------------------------------
42 --|-- brand --|-- mercedes --|-- mercedes |-- NULL
44 --|-- brand --|-- honda --|-- honda --|-- NULL
46 --|-- brand --|-- honda --|-- honda --|-- NULL
42 --|-- price --|-- 20 --|-- NULL --|-- 20
44 --|-- price --|-- 20 --|-- NULL --|-- 20
46 --|-- price --|-- 50 --|-- NULL --|-- 50
感谢任何帮助