2017-02-21 42 views
1

我有一个表A,其中包含几列包含条目。在第1栏中是可以多次出现的广告系列名称(在表格中)。第2栏是订单日期。第3列是该广告系列成功传递邮件的数量。从列表中选择列1中的所有行,列1和列2是标识

现在我想做的事:我想选择所有列,其中第1列的项是相同的,列在第2栏的项是相同的(其中只有一个是不够的)

这里有一个例子:

例如,如果表A中包含:

|col1       ||col2   ||col3| 
+--------------------------------+---------------+------ 
|20161512_NL_Luxus_1_DE   ||2017-01-01  ||15 | 
|20161217_LC_YoBirthdayNo_A_CH ||2016-12-12  ||10 | 
|20161512_NL_Luxus_1_DE   ||2017-01-01  ||10 | 
|20161512_NL_SDT_4_DE   ||2017-02-11  ||1 | 
|20170117_SV_YoBirthdayYes_A_DE ||2017-02-03  ||25 | 
|20161512_NL_SDT_4_DE   ||2017-01-29  ||9 |   

我想要一个查询,将选择:

|col1       ||col2   ||col3| 
+--------------------------------+---------------+------ 
|20161512_NL_Luxus_1_DE   ||2017-01-01  ||15 | 
|20161512_NL_Luxus_1_DE   ||2017-01-01  ||10 | 

这是我走到这一步:

SELECT T1.* FROM TableA T1 JOIN 
(
    SELECT col1 
    FROM TableA 
    GROUP BY col1 
    HAVING COUNT(*) >= 2 AND col2=col2 
) T2 
ON T1.col1 = T2.col1; 

- >但是,这工作不正常...

回答

1

您还需要GROUP BY日期:

SELECT T1.* 
FROM TableA T1 
JOIN (SELECT col1 
     FROM TableA 
     GROUP BY col1, col2 
     HAVING COUNT(*) >= 2) T2 ON T1.col1 = T2.col1; 
+0

作品!非常感谢! – AbsoluteBeginner

相关问题