CREATE TABLE foo(name,darts,nakedtwister)
AS VALUES
('Evan', false, true),
('Jane', false, true),
('Andrew',true, false),
('Mary', true, true);
SELECT name,
bool_or(darts) AS darts,
bool_or(nakedtwister) AS fun,
'NOT A REAL SPORT' AS "golf/terrorism"
FROM foo
GROUP BY name;
这称为聚合查询。有关您可以使用的各种聚合的详细信息,请参阅MySQL 开发页面。
此查询将为每个运动返回每个运动的总和
Name
。有关工作示例,请参阅此 SQL Fiddle 。
PostgreSQL,
bool_or
为此支持,(SUM
也可以,但速度较慢)