sql -在不同的行中选择两个相同的值,但仍然能够看到第三个值

  • 本文关键字:三个 两个 选择 sql sql aggregate
  • 更新时间 :
  • 英文 :


我有三列orderdate, customerid和productid。我只想看到orderdate和customerid重复的行。所以当顾客在同一天点了东西。但是我还想看到产品id。

SELECT orderdate, customerid, productid
FROM sales_orders_sheet
GROUP BY orderdate, customerid
HAVING COUNT(*)>1

当我使用这个sql语句时,得到;

聚合查询字段既不分组也不聚合:第1行,第31列

你可以这样做:

select *
from (
select t.*, count(1) over(partition by orderdate, customerid) as cnt
from sales_orders_sheet t
) x
where cnt > 1

最新更新