Redian新闻
>
怎么写这个total的query
avatar
怎么写这个total的query# Database - 数据库
S*H
1
用的是third party application. 所以一些standard SQL 支持的都不能用.
roll up 是没有的.怎么用一些basic sql 写.谢谢大家了.
TaskName TaskStatus TaskID
A open 1
A open 2
A Done 4
B pending 7
B done 99
expected results:
TaskName TaskStatus TaskID Total
A open 1
A open 2 2
A Done 4 1
B pending 7
B done 99 1
B pending 100 2
layout 不一定要这样. 但要一个 total , Group by TaskStatus,TaskName
还要list 出来每一个 TaskID.
avatar
g*l
2
看不懂怎么出来的TOTAL,TOTAL什么啊
avatar
B*g
3
self-join

【在 S**H 的大作中提到】
: 用的是third party application. 所以一些standard SQL 支持的都不能用.
: roll up 是没有的.怎么用一些basic sql 写.谢谢大家了.
: TaskName TaskStatus TaskID
: A open 1
: A open 2
: A Done 4
: B pending 7
: B done 99
: expected results:
: TaskName TaskStatus TaskID Total

avatar
S*H
4
就是数以下有几个task. by group status/task name
avatar
g*l
5
那不就是
select group status,task name, count(*)
group by group status,task name
怎个ROOLUP不能用的
avatar
S*H
6
还要把 task ID 都列出来的.
试了一下 self join. time out了. :(
avatar
M*e
7
total只能给每个组最大的taskid么?
附图这样的结果可以么?

【在 S**H 的大作中提到】
: 还要把 task ID 都列出来的.
: 试了一下 self join. time out了. :(

avatar
M*e
8
task table is the original table.
SELECT v1.*,
v2.total
FROM task v1
LEFT OUTER JOIN
(SELECT t1.*,
t2.total
FROM task t1,
(SELECT taskname,
taskstatus,
COUNT(*) AS total
FROM task
GROUP BY taskname,
taskstatus
) t2
WHERE t1.taskname=t2.taskname
AND t1.taskstatus=t2.taskstatus
AND t1.taskid IN
(SELECT MAX(taskid) FROM task GROUP BY taskname, taskstatus
)
) v2
ON v1.taskid=v2.taskid
ORDER BY v1.taskid;
avatar
S*H
9
Thanks a million.!!!
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。