Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Mysql 从表中选择第1列和第2列中的entrie相同的所有行_Mysql - Fatal编程技术网

Mysql 从表中选择第1列和第2列中的entrie相同的所有行

Mysql 从表中选择第1列和第2列中的entrie相同的所有行,mysql,Mysql,我有一个表a,其中包含几个带有条目的列。第1列中是活动名称,可以出现多次(在表中)。第2列是订单日期。第3列是该活动的成功投递邮件数 现在我要做的是:我要选择所有列,其中第1列中的条目相同,第2列中的条目相同(仅其中一个是不够的) 下面是一个例子: 例如,如果表A包含: |col1 ||col2 ||col3| +--------------------------------+---------------+------

我有一个表a,其中包含几个带有条目的列。第1列中是活动名称,可以出现多次(在表中)。第2列是订单日期。第3列是该活动的成功投递邮件数

现在我要做的是:我要选择所有列,其中第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;

->但这不正常…

您还需要按日期分组:

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