case when bbm.bill_main_type=16 and bbm.app_id=4 then null else COUNT ((bbm.bill_status = 30) OR NULL) end biz_un_reviewed 能出现在group by 之后吗
时间: 2024-03-11 16:47:44 浏览: 23
可以出现在group by之后。在使用GROUP BY对结果进行分组时,可以包含聚合函数和其他表达式。在这个例子中,使用了CASE WHEN语句和聚合函数COUNT,因此可以将其放在GROUP BY之后。需要注意的是,需要给该列起一个别名,以便在后续的查询中可以引用它。例如:
```
SELECT some_column, COUNT(*) AS total_count,
CASE WHEN bbm.bill_main_type=16 AND bbm.app_id=4
THEN NULL
ELSE COUNT((bbm.bill_status = 30) OR NULL)
END AS biz_un_reviewed
FROM some_table
GROUP BY some_column, CASE WHEN bbm.bill_main_type=16 AND bbm.app_id=4 THEN NULL ELSE COUNT((bbm.bill_status = 30) OR NULL) END;
```
相关问题
void my_keyL(u8 cmd,u16 pos) { switch(cmd){ case 0 :{//switch if(BBM(p.s.ctl,MY_CTL_L_NC)){//阀门无效 BBM(my.stu,MY_KEY_L) = 1; }else if(BBM(my.stu,MY_KEY_L)){ BBM(my.stu,MY_KEY_L) = 0; }else{ BBM(my.stu,MY_KEY_L) = 1; } }break; case 1 :{//dsp if(BBM(p.s.ctl,MY_CTL_L_NC)){//阀门无效 BBM(my.stu,MY_KEY_L) = 1; } if(BBM(my.stu,MY_KEY_L)){ DcmSetKey(my.screen_id,pos,0x01);//设置按钮由弹起变成按下状态 }else{ DcmSetKey(my.screen_id,pos,0x00);//设置按钮弹起状态 } }break; default :{ ; }break; } }
这段代码是一个函数,名为`my_keyL`,接受两个参数:`cmd`和`pos`。函数内部使用了一个`switch`语句来根据`cmd`的值执行不同的操作。
如果`cmd`的值为0,表示执行开关操作。在这种情况下,首先检查阀门是否有效。如果阀门无效,则将`MY_KEY_L`标志位置为1。否则,如果`MY_KEY_L`标志位已经被设置为1,将其重置为0;如果`MY_KEY_L`标志位为0,则将其设置为1。
如果`cmd`的值为1,表示执行显示操作。在这种情况下,首先检查阀门是否有效。如果阀门无效,则将`MY_KEY_L`标志位置为1。然后,根据`MY_KEY_L`标志位的值,使用`DcmSetKey`函数来设置按钮的状态。如果`MY_KEY_L`标志位为1,则设置按钮状态为按下状态(值为0x01);否则,设置按钮状态为弹起状态(值为0x00)。
如果`cmd`的值既不为0也不为1,则没有任何操作。
请注意,代码中使用了一些宏定义,如`BBM`和`DcmSetKey`,这些宏定义可能在其他地方进行了定义。
void my_para_qtinit(sjz* td) { td->cs[0] = td->bd[0];//零气//量程测量值 td->cs[1] = td->bd[1];//量程测量值1 td->cs[2] = td->bd[2];//量程测量值2 td->cs[3] = td->bd[3];//量程测量值3 td->biaoq[0] = td->bd[0];//零气 //样品值 td->biaoq[1] = td->bd[1] * 80 / 100;//样品值1 td->biaoq[2] = td->bd[2] * 80 / 100;//样品值2 td->biaoq[3] = td->bd[3] * 80 / 100;//样品值3 td->wucx[0] = td->biaoq[1];//零气 //误差限 td->wucx[1] = td->biaoq[1];//误差限1 td->wucx[2] = td->biaoq[2] / 2;//误差限2 td->wucx[3] = td->biaoq[3] / 2;//误差限3 td->bjx = td->bd[0] - td->bd[2];//报警下限 td->bjs = td->bd[3] + td->bd[2];//报警上限 td->gaojck = td->bd[1]; //告警窗口 BBM(td->ctl,MY_TDCTL_LC0) = 0;// 标定量程 BBM(td->ctl,MY_TDCTL_LC1) = 1;// BBM(td->ctl,MY_TDCTL_LC2) = 1;// BBM(td->ctl,MY_TDCTL_LC3) = 1;// BBM(td->ctl,MY_TDCTL_CXGJ) = 1;//超限告警=0->禁止;1->使能 //BBM(td->ctl,MY_TDCTL_GJH) = 0;//上限告警 //BBM(td->ctl,MY_TDCTL_GJL) = 0;//下限告警 BBM(td->ctl,MY_TDCTL_CLMOD) = 1;//测量模式0-原始值,1-校正值 BBM(td->ctl,MY_TDCTL_ZDLC) = 1;//量程模式0-固定量程3,1-自动
这段代码是一个函数`my_para_qtinit`,接受一个指向`sjz`类型结构体的指针`td`作为参数。函数的作用是初始化一些参数值,并将其赋值给结构体`td`的相应成员变量。
首先,将`td->bd[0]`的值赋给`td->cs[0]`。然后,依次将`td->bd[1]`、`td->bd[2]`和`td->bd[3]`的值分别赋给`td->cs[1]`、`td->cs[2]`和`td->cs[3]`。
接下来,将`td->bd[0]`的值赋给`td->biaoq[0]`,表示零气的样品值。然后,将`td->bd[1]`的值乘以80再除以100,并赋给`td->biaoq[1]`表示样品值1。类似地,将`td->bd[2]`的值乘以80再除以100,并赋给`td->biaoq[2]`表示样品值2。将`td->bd[3]`的值乘以80再除以100,并赋给`td->biaoq[3]`表示样品值3。
接着,将`td->biaoq[1]`的值赋给`td->wucx[0]`,表示零气的误差限。将`td->biaoq[1]`的值赋给`td->wucx[1]`表示误差限1。将`td->biaoq[2]`的值除以2,并赋给`td->wucx[2]`表示误差限2。将`td->biaoq[3]`的值除以2,并赋给`td->wucx[3]`表示误差限3。
然后,计算并赋值给`td->bjx`和`td->bjs`,分别为报警下限和报警上限。`td->bjx`的值是`td->bd[0] - td->bd[2]`,而`td->bjs`的值是`td->bd[3] + td->bd[2]`。
将`td->bd[1]`的值赋给`td->gaojck`,表示告警窗口。
接下来,通过位操作设置结构体成员变量`td->ctl`中的一些标志位。例如,通过`BBM(td->ctl, MY_TDCTL_LC0) = 0`将标定量程的第0位设置为0。
最后,设置了其他一些标志位,如超限告警使能为1,测量模式为校正值等。
请注意,代码中使用了宏定义,如`BBM`和一些结构体成员变量,这些宏定义和结构体成员变量可能在其他地方进行了定义。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![apk](https://img-home.csdnimg.cn/images/20210720083646.png)
![apk](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)