我有一个表 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;
-> 但这不能正常工作...
最佳答案
您还需要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;
关于mysql - 从表中选择 col1 和 col2 中的条目相同的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42361769/