我需要查询我的表格以百分比形式显示行数。我有一个名为user_task
的表,我需要显示用户已完成的任务的百分比。
因此,对于user_task
date_completed = '0000-00-00'
占user_task.date_completed != '0000-00-00'
的百分比的每个#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(void) {
FILE *fp = fopen("sm.c", "r");
char buf[1000];
char *args[] = {"invailid_command", NULL};
fgets(buf, sizeof(buf), fp);
printf("I'm one %d %ld\n", getpid(), ftell(fp));
if (fork() == 0) {
execvp(args[0], args);
exit(EXIT_FAILURE);
}
wait(NULL);
printf("I'm two %d %ld\n", getpid(), ftell(fp));
}
。
这可以在一个查询中完成吗?
答案 0 :(得分:2)
尝试一下
的内容select sum(completed)/count(*) from
(SELECT IF(date_completed = '0000-00-00', 1, 0) AS completed
FROM user_task WHERE user_id = 1) s1;
即。使用现有查询作为计算的基础。