gpt4 book ai didi

mysql查询选择行分组依据

转载 作者:可可西里 更新时间:2023-11-01 08:51:12 24 4
gpt4 key购买 nike

我有一个简单的表,我必须从中进行选择,但它必须是这样的:

表格示例

StatusID    StatusCode    BrandID    StatusName

1 1 1000 First Status
2 2 1000 Second Status
3 3 1000 Third Status
4 1 2000 First Custom Status

我需要一个 BrandID = 1000 的选择查询来输出:

StatusID    StatusCode    BrandID    StatusName

1 1 1000 First Status
2 2 1000 Second Status
3 3 1000 Third Status

我需要一个 BrandID = 2000 的选择查询来输出:

StatusID    StatusCode    BrandID    StatusName

4 1 2000 First Custom Status
2 2 1000 Second Status
3 3 1000 Third Status

换句话说,如果 BrandID 是默认值 (1000),我需要选择属于这个 BrandID 的所有行,但是如果 BrandID 是 2000,我需要选择属于这个 BrandID 的所有行 + 如果没有 BrandID,则使用默认 BrandID 的行该特定 StatusCode 为 2000。我希望这是足够好的解释。这是我一直在研究的问题

SELECT  *

FROM table

GROUP BY StatusCode
HAVING BrandID = 2000

显然它没有按预期工作。

最佳答案

试试这个:

SELECT * 
FROM (SELECT * FROM statusTable
GROUP BY StatusCode HAVING StatusCode NOT IN (SELECT StatusCode FROM statusTable WHERE BrandID = 2000)
UNION
SELECT * FROM statusTable WHERE BrandID = 2000
) AS A
ORDER BY StatusCode

关于mysql查询选择行分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859587/

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