首页 > 试题广场 >

以下语句能够返回至少被订购过两次的productid?

[单选题]
有订单表orders,包含字段用户信息userid,字段产品信息productid,以下语句能够返回至少被订购过两次的productid?
  • select productid from orders where count(productid)>1
  • select productid from orders where max(productid)>1
  • select productid from orders where having count(productid)>1 group by productid
  • select productid from orders group by productid having count(productid)>1
D,先用group by分组,再用having对分组进行约束
发表于 2016-04-18 19:17:33 回复(0)

Where语句中不能出现聚合函数,且不能和having共用。

Having是出现在groupby语句中,用来对分组的结果集进行限定的。

发表于 2016-09-07 20:24:07 回复(0)
顺序为:select, from, where, group by, having, order by, limit
发表于 2015-09-16 21:43:35 回复(6)
where增加分组前的限定,having增加分组后的限定
发表于 2015-09-22 20:19:29 回复(0)
group by 通常和集合函数SUM(),AVG().MAX(),MIN(),COUNT()等结合在一起,后接限制条件语句 having,不可用where语句!
发表于 2016-08-17 16:46:52 回复(0)
where子句不能使用聚合函数,因为聚合函数是对列使用的函数,而where是对行进行过滤,所以两者不能一块使用
通常使用聚合函数的话可以考虑使用group by...having聚合
发表于 2017-09-29 20:27:48 回复(0)
sql执行顺序: 1.from 2.where 3.group by 4.having 5.select 6.order by
发表于 2018-11-20 19:12:33 回复(0)
where后不允许跟统计函数。
发表于 2018-10-22 21:48:47 回复(0)
WHERE字句中是不能用聚集表达式作为条件表达式的~
发表于 2017-03-17 05:48:34 回复(0)
用聚合函数必须用having,不能用where
发表于 2018-05-10 23:54:37 回复(0)
having在group by之后
发表于 2020-11-12 20:48:23 回复(0)
C选项  where 后边啥都没有。。。
发表于 2020-04-25 11:00:18 回复(0)
聚合函数和where是不能在一起用的,还有having和group by 一起使用
发表于 2019-09-29 21:11:23 回复(0)
WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前.
换句话说,where只能操纵数据库中原有的记录;
因为它的优先级大于聚集函数和Group By等。

Having的作用在于:补充了对“初步筛选完结果集”的后续操纵。
编辑于 2017-08-28 15:31:45 回复(0)
聚合函数不能出现在where语句后面!!
发表于 2016-09-08 23:21:04 回复(0)
CONCAT(str1,str2,…) 返回来自于参数连结的字符串 。如果任何参数是 NULL ,返回 NULL 。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式
发表于 2016-08-20 10:35:02 回复(0)
C、D  混淆点: having是对其他聚合语句运算结果的输出作出限制,group为分组语句,应先行分组。
发表于 2016-07-19 16:07:30 回复(0)
至少两条,则需要使用count()计数。
count()为聚合函数,需要和having关键词联合使用,是对groupby之后非分组字段的计数操作。所以D
发表于 2016-04-18 00:23:13 回复(0)
a表达式就是错的,聚集函数不能出现在where的条件表达式中
发表于 2016-03-04 08:49:36 回复(0)