sql 组有选择

发布于 2025-01-04 03:15:59 字数 268 浏览 0 评论 0原文

我想投影具有相同标题的所有产品的 pid 索引,因为我使用以下内容作为子查询。

Product(pid, title)

SELECT p.title
FROM product p
group by title
HAVING ( COUNT(p.title) > 1 )

这可以很好地输出重复的标题,但是我如何投影 pid 的呢?

I want to project the pid indexes for all products which have the same title, as I'm using the following as a sub query.

Product(pid, title)

SELECT p.title
FROM product p
group by title
HAVING ( COUNT(p.title) > 1 )

this outputs the duplicate titles fine, but how do I project the pid's instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唔猫 2025-01-11 03:15:59
SELECT p.pid, p.title
FROM product p 
     INNER JOIN 
     (SELECT p.title
      FROM product p
      GROUP BY title
      HAVING (COUNT(p.title) > 1)) t ON t.title = p.title

这是使用 sqlfiddle 的示例:

http://sqlfiddle.com/#!3/25e77 /1

SELECT p.pid, p.title
FROM product p 
     INNER JOIN 
     (SELECT p.title
      FROM product p
      GROUP BY title
      HAVING (COUNT(p.title) > 1)) t ON t.title = p.title

here is an example of it working with sqlfiddle:

http://sqlfiddle.com/#!3/25e77/1

拧巴小姐 2025-01-11 03:15:59

我认为自加入是这种情况下最简单的答案。请注意我们如何测试不同的 PID 但相同的标题:(

SELECT p1.pid FROM products p1 JOIN products p2 
              ON p1.pid <> p2.pid AND p1.title = p2.title;

我在这里测试了它:http:// sqlfiddle.com/#!2/c8b8d/18

I think a self-join is the easiest answer on this case. Notice how we're testing for different PIDs but same titles:

SELECT p1.pid FROM products p1 JOIN products p2 
              ON p1.pid <> p2.pid AND p1.title = p2.title;

(I tested it here: http://sqlfiddle.com/#!2/c8b8d/18)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文