gpt4 book ai didi

mysql - 将对同一张表的查询合并为一个查询

转载 作者:行者123 更新时间:2023-11-29 00:27:31 25 4
gpt4 key购买 nike

我正在尝试从我的 MySQL 表中获取一些统计信息,并希望将其保留为单个查询。只是不知道如何(或者甚至可能)。我有这两个问题:

SELECT COUNT(*) AS `accept` 
FROM `status`
WHERE `groupID` IN (98779,98780)
AND `group` = 'order'
AND `status` = 'accept'

SELECT COUNT(*) AS `price` 
FROM `status`
WHERE `groupID` IN (98779, 98780)
AND `group` = 'quotation'
AND (`status` = 'final' OR `status` = 'manualprice')

我最好的建议是像这样将它们组合在一个 SELECT 中:

SELECT
(SELECT COUNT(*) AS `accept`
FROM `status`
WHERE `groupID` IN (98779, 98780) AND `group` = 'order' AND `status` = 'accept') AS accept,
(SELECT COUNT(*) AS `price`
FROM `status`
WHERE `groupID` IN (98779, 98780) AND `group` = 'quotation' AND (`status` = 'final' OR `status` = 'manualprice')) AS price

有没有更好的办法?

最佳答案

还有另一种方法,

SELECT  SUM(`group` = 'order' AND `status` = 'accept') AS `ACCEPT`,
SUM(`group` = 'quotation' AND (`status` = 'final' OR `status` = 'manualprice')) AS `PRICE`
FROM `status`
WHERE `groupID` IN (98779, 98780) AND
`group` IN ('order', 'quotation') AND
`status` IN ('accept', 'final', 'manualprice')

关于mysql - 将对同一张表的查询合并为一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18272896/

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