执行查询后,这是我的结果:
public $timestamps = false;
我想只获得3排。因为S-029-45,S-029-45BEFR
S-035-45,S-035-45FR,S-029-45,S-029-45FR
S-035-45,S-035-45DE,S-035-45,S-035-45DE
S-029-45,S-029-45DE,C-003-DACH
出现两次。为了获得这些行,我使用了S-035-45
(my_colum_name)。
我的查询如下:
GROUP_CONCAT
如何在我的情况下只显示3行?我想获得所有数据,我找到了2个重复项。我怎样才能做到这一点 ?我不能使用像mycolumnname =' S-035-45'那里的where条件。这些数据是动态的。
谢谢
答案 0 :(得分:1)
加入一个计算my_column_name
重复次数的查询,并返回计数正好为2的order_id
。
SELECT GROUP_CONCAT(my_column_name)
FROM my_table AS t1
JOIN (SELECT DISTINCT order_id
FROM (SELECT order_id, my_column_name
FROM my_table
GROUP BY order_id, my_column_name
HAVING COUNT(*) = 2) AS x) AS t2
ON t1.order_id = t2.order_id
GROUP BY t1.order_id