感觉不算太难的问题整了N久也不成,初学SQL见笑.具体问题如下:
表t1:
src dst
1 1
1 0
1 1
0 0
1 0
要求生成这样的一个新表
cs cd
4 2
即各列中数据为1的行数统计
想用两个select语句分别查出4和2再inner join,但语法也写不对,还是根本不能这样写也不知道
因为还有其他的字段我省略了,而且程序要求以SQL语句为参数执行一个模块,所以一定要用一条语句,请各位来帮忙看看
表t1:
src dst
1 1
1 0
1 1
0 0
1 0
要求生成这样的一个新表
cs cd
4 2
即各列中数据为1的行数统计
想用两个select语句分别查出4和2再inner join,但语法也写不对,还是根本不能这样写也不知道
因为还有其他的字段我省略了,而且程序要求以SQL语句为参数执行一个模块,所以一定要用一条语句,请各位来帮忙看看
解决方案 »
- 请问怎样把PNG图片整合到软件里面去?这里我用的SDK
- 一个画笔的问题,请高手指点指点。
- 【应用程序 与 WEB服务器间的进行通信】
- 获得一个已打开的文本文件(openfile.txt),并把里面的内容输出到新的文本文件中(new.txt)
- 既然MFC在所有窗口创建的时候用AfxWndProc替换掉了原窗口过程,那还要SubclassWindow方法做什么?
- 怎样用DrawDibDraw()全屏显示图像
- 跪求怎么样使gdi+绘制窗口背景随窗口大小改变
- 关于核心对象的问题。
- 怎样在vbscript里用ActiveX控件?
- 如何传参数给进程?
- 怎么实现使程序窗口置于最低层(在桌面上);点击“显示桌面”以后还是在桌面上”??
- [GDI+]16位色下UpdateLayeredWindow失败
SELECT *
FROM (SELECT COUNT(src) AS cs
FROM t1
WHERE (src = 1)) a CROSS JOIN
(SELECT COUNT(dst) AS cd
FROM t1
WHERE (dst = 1)) b
不过这种写法怎么都觉得不好,期待楼下的,还有90分没送出去呢
通过上面的类似方法我得到了两个子表型如:
table1: table2:
min min
... 1 ... ... 2 ...
... 3 ... ... 2 ...
现在我要"横向"统计最小值,得到这样的表
min
... 1 ...
... 2 ...
如上,不知道说清楚没有
up一下,没人知道横向统计吗?
select @src=count(src) from t1 while src='1' and
select dst=count(dst) from t1 while dst='1';
insert into newtable(cs,cd) values(@src,@dst);
看这样行不