创建索引 2个字段 同一个索引名称 与2个字段分别命名有什么区别 sql索引 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL 如下,用那种方式命名索引的方式更有效, 其更有效的原理是什么呢SELECT sga51 日期 , SUM(sga91) 生产数量 , SUM(b.gb92) 厂内不良数量 , SUM(b.gb94) 厂外不良数量 , CONVERT(DECIMAL(18, 4), SUM(b.gb92) * 1.00 / ( SUM(sga91) * 1.00 ) * 100) 厂内不良率百分比 , CONVERT(DECIMAL(18, 4), SUM(b.gb94) * 1.00 / ( SUM(sga91) * 1.00 ) * 100) 厂外不良率百分比 , CONVERT(DECIMAL(18, 4), SUM(b.gb92 + b.gb94) * 1.00 / ( SUM(sga91)* 1.00 ) * 100) 总不良率 FROM Qcountsum a LEFT JOIN ( SELECT gb91 , SUM(gb92) gb92 , SUM(gb94) gb94 FROM Qcountb WHERE gb51 BETWEEN '2014-11-01' AND '2014-11-20' GROUP BY gb91 ) b ON a.SID = b.gb91 WHERE a.sga91 > 0 AND a.sga51 BETWEEN '2014-11-01' AND '2014-11-20' GROUP BY sga51 ORDER BY sga51 分开与否也要基于数据的存取特性,如果你的where条件仅用到第一个索引的第一列,不分开也是可以的,特定情况下可能更好 要看语句的条件而定有(select+where+on+group by +order by),索引大小决定性能如果同时查询两列作为条件时,那用复合索引(2列建一个索引)。如果(两列)分开查时作为条件时可分开. 用SQL 将一个表中的所有列中含有‘0.00’的替换为‘NULL’ 为什么SQL Server有了登录名还弄个数据库用户名? 关于SQL server 同时连接的数量 SQL2005数据备份问题 powerbuilder 如何调用存储过程 SQL语句的问题? 【100分】为什么这段调用数据库代码在网页端未能获取并显示任何内容 求一条查询语句。 ORACLE初学者的一个非常简单的问题 sql 联合查询问题 事件探查器跟踪语句 请问,如何获得两个表某列的"差内容”谢谢!
SELECT sga51 日期 ,
SUM(sga91) 生产数量 ,
SUM(b.gb92) 厂内不良数量 ,
SUM(b.gb94) 厂外不良数量 ,
CONVERT(DECIMAL(18, 4), SUM(b.gb92) * 1.00 / ( SUM(sga91) * 1.00 )
* 100) 厂内不良率百分比 ,
CONVERT(DECIMAL(18, 4), SUM(b.gb94) * 1.00 / ( SUM(sga91) * 1.00 )
* 100) 厂外不良率百分比 ,
CONVERT(DECIMAL(18, 4), SUM(b.gb92 + b.gb94) * 1.00 / ( SUM(sga91)* 1.00 ) * 100) 总不良率
FROM Qcountsum a
LEFT JOIN ( SELECT gb91 ,
SUM(gb92) gb92 ,
SUM(gb94) gb94
FROM Qcountb
WHERE gb51 BETWEEN '2014-11-01' AND '2014-11-20'
GROUP BY gb91
) b ON a.SID = b.gb91
WHERE a.sga91 > 0
AND a.sga51 BETWEEN '2014-11-01' AND '2014-11-20'
GROUP BY sga51
ORDER BY sga51
要看语句的条件而定有(select+where+on+group by +order by),索引大小决定性能如果同时查询两列作为条件时,那用复合索引(2列建一个索引)。如果(两列)分开查时作为条件时可分开.