简单的数据库语句问题,在线等!多谢
现有表ML里有A826字段和A001字段,A001字段全为0或者1
我想统计A826字段内容如 '53.020.20 ', '53.100 ', '91.220 '.... '67.260 '的和
语句如下
SELECT COUNT(*) AS Expr1
FROM ML
WHERE (A826 = '53.020.20 ') OR
(A826 = '53.100 ') OR
(A826 = '91.220 ') OR
(A826 = '53.060 ') OR
(A826 = '53.020.30 ') OR
(A826 = '73.100.30 ') OR
(A826 = '73.100.10 ') OR
(A826 = '73.100.40 ') OR
(A826 = '73.120 ') OR
(A826 = '73.100.20 ') OR
(A826 = '73.100.99 ') OR
(A826 = '73.12 ') OR
(A826 = '53.04 ') OR
(A826 = '25.080.50 ') OR
(A826 = '23.06 ') OR
(A826 = '91.22 ') OR
(A826 = '25.180 ') OR
(A826 = '55.200 ') OR
(A826 = '53.04 ') OR
(A826 = '53.040.30 ') OR
(A826 = '17.06 ') OR
(A826 = '13.02 ') OR
(A826 = '53.040.10 ') OR
(A826 = '23.12 ') OR
(A826 = '65.060.10 ') OR
(A826 = '65.060.20 ') OR
(A826 = '65.060.35 ') OR
(A826 = '67.26 ') OR
(A826 = '13.04 ') OR
(A826 = '13.06 ') OR
(A826 = '13.03 ') OR
(A826 = '43.160 ') OR
(A826 = '25.120.10 ') OR
(A826 = '25.080 ') OR
(A826 = '23.060 ') OR
(A826 = '27.200 ') OR
(A826 = '27.160 ') OR
(A826 = '29.220 ') OR
(A826 = '29.045 ') OR
(A826 = '31.200 ') OR
(A826 = '29.060.10 ') OR
(A826 = '29.120.01 ') OR
(A826 = '29.180 ') OR
(A826 = '27.180 ') OR
(A826 = '11.040.50 ') OR
(A826 = '11.040.60 ') OR
(A826 = '11.040.30 ') OR
(A826 = '35.220.30 ') OR
(A826 = '11.040.99 ') OR
(A826 = '43.040.60 ') OR
(A826 = '07.040 ') OR
(A826 = '43.160 ') OR
(A826 = '47.020.70 ') OR
(A826 = '43.040.10 ') OR
(A826 = '17.100 ') OR
(A826 = '17.060 ') OR
(A826 = '79.040 ') OR
(A826 = '79.020 ') OR
(A826 = '79.060 ') OR
(A826 = '79.080 ') OR
(A826 = '79.100 ') OR
(A826 = '79.120 ') OR
(A826 = '67.020 ') OR
(A826 = '67.040 ') OR
(A826 = '67.050 ') OR
(A826 = '07.100.30 ') OR
(A826 = '67.060 ') OR
(A826 = '67.080.0l ')
结果为8195
然后想分别统计A001=0 和A001=1 这些字段的和
A001=1
SELECT COUNT(*) AS Expr1
FROM ML
WHERE (A001= '1 ')and(A826 = '53.020.20 ') OR
(A826 = '53.100 ') OR
(A826 = '91.220 ') OR
(A826 = '53.060 ') OR
(A826 = '53.020.30 ') OR
(A826 = '73.100.30 ') OR
(A826 = '73.100.10 ') OR
(A826 = '73.100.40 ') OR
(A826 = '73.120 ') OR
(A826 = '73.100.20 ') OR
(A826 = '73.100.99 ') OR
(A826 = '73.12 ') OR
(A826 = '53.04 ') OR
(A826 = '25.080.50 ') OR
(A826 = '23.06 ') OR
(A826 = '91.22 ') OR
(A826 = '25.180 ') OR
(A826 = '55.200 ') OR
(A826 = '53.04 ') OR
(A826 = '53.040.30 ') OR
(A826 = '17.06 ') OR
(A826 = '13.02 ') OR
(A826 = '53.040.10 ') OR
(A826 = '23.12 ') OR
(A826 = '65.060.10 ') OR
(A826 = '65.060.20 ') OR
(A826 = '65.060.35 ') OR
(A826 = '67.26 ') OR
(A826 = '13.04 ') OR
(A826 = '13.06 ') OR
(A826 = '13.03 ') OR
(A826 = '43.160 ') OR
(A826 = '25.120.10 ') OR
(A826 = '25.080 ') OR
(A826 = '23.060 ') OR
(A826 = '27.200 ') OR
(A826 = '27.160 ') OR
(A826 = '29.220 ') OR
(A826 = '29.045 ') OR
(A826 = '31.200 ') OR
(A826 = '29.060.10 ') OR
(A826 = '29.120.01 ') OR
(A826 = '29.180 ') OR
(A826 = '27.180 ') OR
(A826 = '11.040.50 ') OR
(A826 = '11.040.60 ') OR
(A826 = '11.040.30 ') OR
(A826 = '35.220.30 ') OR
(A826 = '11.040.99 ') OR
(A826 = '43.040.60 ') OR
(A826 = '07.040 ') OR
(A826 = '43.160 ') OR
(A826 = '47.020.70 ') OR
(A826 = '43.040.10 ') OR
(A826 = '17.100 ') OR
(A826 = '17.060 ') OR
(A826 = '79.040 ') OR
(A826 = '79.020 ') OR
(A826 = '79.060 ') OR
(A826 = '79.080 ') OR
(A826 = '79.100 ') OR
(A826 = '79.120 ') OR
(A826 = '67.020 ') OR
(A826 = '67.040 ') OR
(A826 = '67.050 ') OR
(A826 = '07.100.30 ') OR
(A826 = '67.060 ') OR
(A826 = '67.080.0l ')
结果为8172
A001=0
SELECT COUNT(*) AS Expr1
FROM ML
WHERE (A001= '0 ')and(A826 = '53.020.20 ') OR
(A826 = '53.100 ') OR
(A826 = '91.220 ') OR
(A826 = '53.060 ') OR
(A826 = '53.020.30 ') OR
(A826 = '73.100.30 ') OR
(A826 = '73.100.10 ') OR
(A826 = '73.100.40 ') OR
(A826 = '73.120 ') OR
(A826 = '73.100.20 ') OR
(A826 = '73.100.99 ') OR
(A826 = '73.12 ') OR
(A826 = '53.04 ') OR
(A826 = '25.080.50 ') OR
(A826 = '23.06 ') OR
(A826 = '91.22 ') OR
(A826 = '25.180 ') OR
(A826 = '55.200 ') OR
(A826 = '53.04 ') OR
(A826 = '53.040.30 ') OR
(A826 = '17.06 ') OR
(A826 = '13.02 ') OR
(A826 = '53.040.10 ') OR
(A826 = '23.12 ') OR
(A826 = '65.060.10 ') OR
(A826 = '65.060.20 ') OR
(A826 = '65.060.35 ') OR
(A826 = '67.26 ') OR
(A826 = '13.04 ') OR
(A826 = '13.06 ') OR
(A826 = '13.03 ') OR
(A826 = '43.160 ') OR
(A826 = '25.120.10 ') OR
(A826 = '25.080 ') OR
(A826 = '23.060 ') OR
(A826 = '27.200 ') OR
(A826 = '27.160 ') OR
(A826 = '29.220 ') OR
(A826 = '29.045 ') OR
(A826 = '31.200 ') OR
(A826 = '29.060.10 ') OR
(A826 = '29.120.01 ') OR
(A826 = '29.180 ') OR
(A826 = '27.180 ') OR
(A826 = '11.040.50 ') OR
(A826 = '11.040.60 ') OR
(A826 = '11.040.30 ') OR
(A826 = '35.220.30 ') OR
(A826 = '11.040.99 ') OR
(A826 = '43.040.60 ') OR
(A826 = '07.040 ') OR
(A826 = '43.160 ') OR
(A826 = '47.020.70 ') OR
(A826 = '43.040.10 ') OR
(A826 = '17.100 ') OR
(A826 = '17.060 ') OR
(A826 = '79.040 ') OR
(A826 = '79.020 ') OR
(A826 = '79.060 ') OR
(A826 = '79.080 ') OR
(A826 = '79.100 ') OR
(A826 = '79.120 ') OR
(A826 = '67.020 ') OR
(A826 = '67.040 ') OR
(A826 = '67.050 ') OR
(A826 = '07.100.30 ') OR
(A826 = '67.060 ') OR
(A826 = '67.080.0l ')
结果8008
这样写对吗?为什么总的结果跟A001=1和A001=0的结果和不一样啊?
[解决办法]
你那是逻辑有错误吧,后面的or要用括号括起来,可以这样写
WHERE (A001= '1 ') and A826 in( '53.020.20 ',..., '67.080.0l ')
[解决办法]
只是加括号不会错的,是不是加了全角的括号?