Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何合并具有相似值的两行?_Sql - Fatal编程技术网

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;
并非所有数据库都支持
分组依据中的列别名。如果没有,则需要重复
大小写
表达式