【发布时间】:2022-01-21 04:16:59
【问题描述】:
考虑以下几点:
CREATE TABLE IF NOT EXISTS person (
id BIGSERIAL,
favorite_color TEXT,
PRIMARY KEY (id)
);
INSERT INTO person (favorite_color) VALUES ('red');
INSERT INTO person (favorite_color) VALUES ('green');
INSERT INTO person (favorite_color) VALUES ('blue');
INSERT INTO person (favorite_color) VALUES ('blue');
INSERT INTO person (favorite_color) VALUES ('blue');
我现在想查询表,为favorite_color = blue 并返回所有行的所有行提供COUNT。如何使用单个 postgresql 查询实现以下输出?
{
"total" 3,
"results": [
{"id": 3, "favorite_color": "blue"},
{"id": 4, "favorite_color": "blue"},
{"id": 5, "favorite_color": "blue"},
]
}
我知道怎么写SQL语句,我问是否可以写一个SQL语句来达到我想要的结果,反对两次访问数据库(一次用于计数,第二次用于结果)。
【问题讨论】:
-
所以不是“反对两次打击数据库”,而是只打击一次,但更难? ??????
标签: sql json postgresql