sql – Postgres:选择具有大于1的字段数的所有行

前端之家收集整理的这篇文章主要介绍了sql – Postgres:选择具有大于1的字段数的所有行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有表存储产品价格信息,表看起来类似,(不是主键)
  1. no name price date
  2. 1 paper 1.99 3-23
  3. 2 paper 2.99 5-25
  4. 3 paper 1.99 5-29
  5. 4 orange 4.56 4-23
  6. 5 apple 3.43 3-11

现在我想选择“name”字段在表格中出现多次的所有行.基本上,我希望我的查询返回前三行.

我试过了:

  1. SELECT * FROM product_price_info GROUP BY name HAVING COUNT(*) > 1

但我得到一个错误说:

column “product_price_info.no” must appear in the GROUP BY clause or be used in an aggregate function

解决方法

  1. SELECT *
  2. FROM product_price_info
  3. WHERE name IN (SELECT name
  4. FROM product_price_info
  5. GROUP BY name HAVING COUNT(*) > 1)

猜你在找的MsSQL相关文章