1

对不起我的英语,我必须得到至少 2 次相同日期的所有记录,我的意思是我想知道谁的卖家在同一日期至少进行了 2 次销售。

表 A

id 姓名 姓氏 卖方 日期 项目
23456 罗伯托罗德里格斯 jvazquez 01/01/2013 汽车
23423 罗伯托罗德里格斯 jvazquez 01/01/2013 摩托车
5654 朱利安·多明格斯 rfleita 2013 年 5 月 2 日
34534653 Romina Santaolaya jvazquez 02/02/2013 摩托车
346534 Romina Santaolaya rfleita 05/02/2013 汽车

结果

23456 罗伯托罗德里格斯 jvazquez 01/01/2013 汽车
23423 罗伯托罗德里格斯 jvazquez 01/01/2013 摩托车
346534 Romina Santaolaya rfleita 05/02/2013 汽车
5654 朱利安·多明格斯 rfleita 2013 年 5 月 2 日
4

3 回答 3

3
SELECT seller, Date, COUNT(*) "Sales"
FROM TableA
GROUP BY Date, seller
HAVING COUNT(*) >= 2
于 2013-07-02T13:37:58.173 回答
1
select id, 
       Name,
       Lastname,
       Seller,
       Date,
       Item
from (
  select id, 
         Name,
         Lastname,
         Seller,
         Date,
         Item,
         count(*) over (partition by date, seller) as cnt
   from the_table
) t
where cnt >= 2;

SQLFiddle 示例:http ://www.sqlfiddle.com/#!12/7c0cc/4

如果您不需要额外的列,乔尔的回答会更快。

于 2013-07-02T13:46:36.733 回答
0

这应该会给你要求的结果:

SELECT *
    FROM TableA
    WHERE (Date, Seller) IN (
        SELECT Date, Seller
            FROM TableA
            GROUP BY Date, Seller
            HAVING COUNT(*) >= 2
    )
于 2013-07-02T13:45:16.103 回答