能否全用HAVING,不用WHERE?
7 个解决方案
#1
可以同时使用,
一般来说先用WHERE,后用HAVING
对查询的结果再过滤
一般来说先用WHERE,后用HAVING
对查询的结果再过滤
#2
汇总函数不能工作在WHERE 子句中,如果条件中有汇总函数的话需要使用HAVING
#3
楼上兄弟的解释是一个方面,其实WHERE 和 HAVING的最大区别是它们参与过滤的次序不同(只有在分组的情况下才使用HAVING),举个例子:
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。
#4
应该是可以的(在嵌套查询里面可以的),如果是非嵌套的一条查询中应该是不能用的!
#5
select count(*) as sl,s2 from tablename where a1>1000
group by s1 having count(*)>1
s3,a1为库中的字段
group by s1 having count(*)>1
s3,a1为库中的字段
#6
having一般和Group by语句一起用
如果用group by分组的话,可以把having当作分组后的过滤。
如果用group by分组的话,可以把having当作分组后的过滤。
#7
楼上兄弟的解释是一个方面,其实WHERE 和 HAVING的最大区别是它们参与过滤的次序不同(只有在分组的情况下才使用HAVING),举个例子:
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。lfny
你是不是做税务方面软件的
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。lfny
你是不是做税务方面软件的
#1
可以同时使用,
一般来说先用WHERE,后用HAVING
对查询的结果再过滤
一般来说先用WHERE,后用HAVING
对查询的结果再过滤
#2
汇总函数不能工作在WHERE 子句中,如果条件中有汇总函数的话需要使用HAVING
#3
楼上兄弟的解释是一个方面,其实WHERE 和 HAVING的最大区别是它们参与过滤的次序不同(只有在分组的情况下才使用HAVING),举个例子:
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。
#4
应该是可以的(在嵌套查询里面可以的),如果是非嵌套的一条查询中应该是不能用的!
#5
select count(*) as sl,s2 from tablename where a1>1000
group by s1 having count(*)>1
s3,a1为库中的字段
group by s1 having count(*)>1
s3,a1为库中的字段
#6
having一般和Group by语句一起用
如果用group by分组的话,可以把having当作分组后的过滤。
如果用group by分组的话,可以把having当作分组后的过滤。
#7
楼上兄弟的解释是一个方面,其实WHERE 和 HAVING的最大区别是它们参与过滤的次序不同(只有在分组的情况下才使用HAVING),举个例子:
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。lfny
你是不是做税务方面软件的
列出税额大于3000姓李的用户
select name,sum(tax) from taxdbt where name like '李%' group by name having sum(tax)>3000
首先按姓名统计所有姓李的税额,再过滤出大于3000的记录。lfny
你是不是做税务方面软件的