日期:2014-05-16  浏览次数:21268 次

求一个SQL语句的写法,有没有性能更佳的
现在有一张表person 里面有type字段表示不同的类型有0,1,2 三种,另外有creator创建人字段。
第一个语句是查询出类型为0,2所有的数据以及type=1并且creator=1的数据
第二个语句时查询出类型为查询出上面这些数据的数量

第一个语句我的写法是:
SELECT * FROM person WHERE TYPE IN (0,2) 
union select * from person where type=1 and creator=1
第二个我不清楚怎么写,因为在select count的时候使用union查询出来的不是一个总数
求大侠解答第二个语句的写法以及有没有第一句更优的写法?拜谢


------解决方案--------------------
SQL code
SELECT * FROM person WHERE TYPE<>1
union
select * from person where type=1 and creator=1

------解决方案--------------------
第一个语句是查询出类型为0,2所有的数据以及type=1并且creator=1的数据
SQL code
SELECT * FROM person WHERE TYPE IN (0,2) or (type=1 and creator=1)