Sql 如何合并具有相似值的两行?
这可能是一个非常基本的问题,但我似乎无法理解。我有以下疑问:Sql 如何合并具有相似值的两行?,sql,Sql,这可能是一个非常基本的问题,但我似乎无法理解。我有以下疑问: SELECT COUNT(wp_woocommerce_order_itemmeta.meta_key) as Aantal, wp_woocommerce_order_itemmeta.meta_value as Formule FROM wp_woocommerce_order_itemmeta LEFT JOIN wp_woocommerce_order_items ON wp_woocommerce_order_itemm
SELECT COUNT(wp_woocommerce_order_itemmeta.meta_key) as Aantal, wp_woocommerce_order_itemmeta.meta_value as Formule FROM wp_woocommerce_order_itemmeta
LEFT JOIN wp_woocommerce_order_items
ON wp_woocommerce_order_itemmeta.order_item_id = wp_woocommerce_order_items.order_item_id
LEFT JOIN wp_posts
ON wp_woocommerce_order_items.order_id = wp_posts.ID
WHERE wp_woocommerce_order_itemmeta.meta_key = 'pa_formule'
GROUP BY wp_woocommerce_order_itemmeta.meta_value
HAVING COUNT(wp_woocommerce_order_itemmeta.meta_key) > 10
返回与以下类似的表:
3305 all-in-one
5454 curling
1200 length-define
800 length-define-2
920 define-length
我想结合类似的“公式”值(底部3),创建下表:
3305 all-in-one
5454 curling
2920 length-define
我发现的大多数答案只适用于分组,但这要求“公式”的值是相同的,但在本例中它们不是。谢谢 使用
case
表达式定义要通过其聚合的列:
SELECT COUNT(woim.meta_key) as Aantal,
(CASE WHEN woim.meta_value IN ('length-define', 'length-define-2', 'define-length') THEN 'length-define'
ELSE woim.meta_value
END) as Formule
FROM wp_woocommerce_order_itemmeta woi mLEFT JOIN
wp_woocommerce_order_items woi
ON woim.order_item_id = woi.order_item_id LEFT JOIN
wp_posts p
ON woi.order_id = p.ID
WHERE woim.meta_key = 'pa_formule'
GROUP BY Formule
HAVING COUNT(woim.meta_key) > 10;
并非所有数据库都支持分组依据中的列别名。如果没有,则需要重复大小写
表达式