加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-05-17 04:31:10 所属栏目:编程 来源:网络整理
导读:我有表存储产品价格信息,表看起来类似,(不是主键) no name price date1 paper 1.99 3-232 paper 2.99 5-253 paper 1.99 5-294 orange 4.56 4-235 apple 3.43 3-11 现在我想选择“name”字段在表格中出现多次的所有行.基本上,我希望我的查询返回前三行. 我试过

我有表存储产品价格信息,表看起来类似,(不是主键)

no   name    price    date
1    paper   1.99     3-23
2    paper   2.99     5-25
3    paper   1.99     5-29
4    orange  4.56     4-23
5    apple   3.43     3-11

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

我试过了:

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

解决方法

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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读