Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 获取同一列的总计,但其中每个SELECT别名包含特定字符串_Mysql - Fatal编程技术网

Mysql 获取同一列的总计,但其中每个SELECT别名包含特定字符串

Mysql 获取同一列的总计,但其中每个SELECT别名包含特定字符串,mysql,Mysql,我想检索同一列的总计,但每个别名包含不同的字符串?如何执行此操作,下面的子查询失败 SELECT status ( SELECT COUNT(status) FROM `table` WHERE `status` LIKE LOWER('%stage 1%') ) AS Stage1, status ( SELECT COUNT(status) FROM `table` WHERE `status` LIKE LOWER('%stage 1%')

我想检索同一列的总计,但每个别名包含不同的字符串?如何执行此操作,下面的子查询失败

SELECT status (
    SELECT COUNT(status) FROM `table`
    WHERE `status` LIKE LOWER('%stage 1%')
    ) AS Stage1,
status (
    SELECT COUNT(status) FROM `table`
    WHERE `status` LIKE LOWER('%stage 1%')
    ) AS Stage2,
status (
    SELECT COUNT(status) FROM `table`
    WHERE `status` LIKE LOWER('%stage 1%')
    ) AS Stage3
FROM `table`

计算聚合组的
案例
语句的结果。这是一个例子


计算聚合组的
案例
语句的结果。这是一个例子


计算聚合组的
案例
语句的结果。这是一个例子


计算聚合组的
案例
语句的结果。这是一个例子


如果需要三列,请使用条件聚合。这在MySQL中尤其容易:

select sum(status LIKE LOWER('%stage 1%')) as status1,
       sum(status LIKE LOWER('%stage 2%')) as status2,
       sum(status LIKE LOWER('%stage 3%')) as status3
from `table`;

如果需要三列,请使用条件聚合。这在MySQL中尤其容易:

select sum(status LIKE LOWER('%stage 1%')) as status1,
       sum(status LIKE LOWER('%stage 2%')) as status2,
       sum(status LIKE LOWER('%stage 3%')) as status3
from `table`;

如果需要三列,请使用条件聚合。这在MySQL中尤其容易:

select sum(status LIKE LOWER('%stage 1%')) as status1,
       sum(status LIKE LOWER('%stage 2%')) as status2,
       sum(status LIKE LOWER('%stage 3%')) as status3
from `table`;

如果需要三列,请使用条件聚合。这在MySQL中尤其容易:

select sum(status LIKE LOWER('%stage 1%')) as status1,
       sum(status LIKE LOWER('%stage 2%')) as status2,
       sum(status LIKE LOWER('%stage 3%')) as status3
from `table`;


您能提供样本数据和期望结果吗?状态字段是一个包含文本的VARCHAR,如下所示。这将有所不同:“我们将从今晚7:00到22:00实施阶段1”。您能提供样本数据和期望结果吗?状态字段是一个包含文本的VARCHAR,如下所示,这将有所不同:他说:"我们将于今晚七时至二十二时实施第一阶段。“您能提供示例数据和期望的结果吗?状态字段是一个VARCHAR,包含如下文本,这将有所不同:“我们将从今晚07:00到22:00实施阶段1。”。“您能提供示例数据和期望的结果吗?状态字段是一个VARCHAR,包含如下文本,这将有所不同:“我们将从今晚07:00到22:00实施阶段1。”。“啊,这要简单得多。如果没有第3阶段的值,我如何修复输出。状态_组|总计:NULL=2,第1阶段=24,第2阶段=15因此,如果列为NULL,则将第3阶段分配给itAh,我认为您希望在
案例中使用
ELSE
。啊,这要简单得多。如果没有第3阶段,我如何修复输出?”3 value.status_group | total:NULL=2,stage 1=24,stage 2=15因此,如果列为NULL,则将stage 3分配给itAh,我认为您希望在
情况下使用
ELSE
。啊,这要简单得多。例如,如果没有stage 3 value.status_group | total:NULL=2,stage 1=24,stage 2=15那么如果列为NULL将阶段3分配给itAh,我认为您希望在
案例中使用
ELSE
。啊,这要简单得多。如果没有阶段3值,我如何修复输出。状态_组|总计:NULL=2,阶段1=24,阶段2=15因此,如果列为NULL,则将阶段3分配给itAh,我认为您希望在
案例中使用
ELSE
。谢谢,这也很有效,我接受了下面的答案,因为它更符合我的目的。我正在使用图表的输出,并在一组中获取值,在我的应用程序中效果更好。@Grant…我阅读了你的问题,建议你使用单独的列,而不是单独的行。谢谢,这也很有效,我接受了下面的答案更符合我的目的。我正在使用图表的输出,并在一组中获取值,这在我的应用程序中效果更好。@Grant…我对你的问题的阅读表明,你需要单独的列,而不是单独的行。谢谢,这也很好,我接受了下面的答案,因为它更符合我的目的。我是在我的应用程序中,使用输出到图表并在一组中获取值效果更好。@Grant…我对您的问题的阅读表明您需要单独的列而不是单独的行。谢谢,这也很好,我接受了下面的答案,因为它更符合我的目的。我正在使用输出到图表并获取值在我的应用程序中,在一个组中效果更好。@Grant…我对你的问题的阅读表明你想要单独的列而不是单独的行。