gpt4 book ai didi

sql - 选择第一组

转载 作者:行者123 更新时间:2023-12-03 17:48:02 28 4
gpt4 key购买 nike

问题定义

我有一个SQL查询,看起来像:

SELECT *
FROM table
WHERE criteria = 1
ORDER BY group;


结果

我得到:

group | value | criteria
------------------------
A | 0 | 1
A | 1 | 1
B | 2 | 1
B | 3 | 1


预期结果

但是,我想将结果限制为仅第一组(在这种情况下为A)。即

group | value | criteria
------------------------
A | 0 | 1
A | 1 | 1


我尝试过的

通过...分组

SELECT *
FROM table
WHERE criteria = 1
GROUP BY group;


我可以使用 GROUP BY子句聚合组,但这将给我:

group | value
-------------
A | 0
B | 2


或EACH组的某些汇总功能。但是,我不想汇总行!

子查询

我还可以通过子查询指定组:

SELECT *
FROM table
WHERE criteria = 1 AND
group = (
SELECT group
FROM table
WHERE criteria = 1
ORDER BY group ASC
LIMIT 1
);


这是可行的,但是与往常一样,子查询是混乱的。特别是,这需要两次为 WHERE指定我的 criteria子句。当然,必须有一种更清洁的方法来执行此操作。

最佳答案

您可以尝试以下查询:

SELECT *
FROM table
WHERE criteria = 1
AND group = (SELECT MIN(group) FROM table)
ORDER BY value;

关于sql - 选择第一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32144425/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com