一面试题以oracle为准:
Order表与OrderItem之间是一对多的关系:
Order表
id name
1 1name
2 2name
OrderItem表
id orderId name
1 1 Iphone
2 1 Iphone
3 2 Iphone
4 2 Iphone
用一条SQL:
如何统计出含有Iphone的订单数量,
不能用这种方式:
select count(*) from (
select distinct orderId from OrderItem where name = 'Iphone';
),希望一条SQL查出。
Order表与OrderItem之间是一对多的关系:
Order表
id name
1 1name
2 2name
OrderItem表
id orderId name
1 1 Iphone
2 1 Iphone
3 2 Iphone
4 2 Iphone
用一条SQL:
如何统计出含有Iphone的订单数量,
不能用这种方式:
select count(*) from (
select distinct orderId from OrderItem where name = 'Iphone';
),希望一条SQL查出。
解决方案 »
- ireport画柱形图时,设置y轴的刻度间隔,怎么设置
- 做过电信行业的请进,
- javaee 程序员对javascript的要求高吗,这个需要学的很深入吗
- 处理图片的精度
- struts2 用超链接向action中传值的奇怪问题!!!!
- 关于Axis2_Codegen_Wizard和Axis_Service_Archiver倒入Eclipse的问题
- 有没有高手从事过Doja开发,Doja不支持Socket通讯,如何解决?
- 有没有济南的朋友,有个小项目要找人作
- 已经出了100分,再出100分,请帮我解决在JB8中启动EJB SERVER时,提示我下载optimizeit的问题
- 用wsad开发一个管理系统,应该如何进行布局和架构设计?
- hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决?
- 在练习SSH2整合的时候,遇到了此问题,上网找了很久的答案,都不行..求高人相助!
select count(*) from OrderItem group by orderId where name = 'Iphone';
应该是 select SUM(*) from OrderItem group by orderId where name = 'Iphone';
select sum(count(orderId)) from OrderItem where name = 'Iphone' group by orderId ;
2L和3L压根语法有错。话说我想起来的也就select count(0) from (select distinct orderId from OrderItem where name = 'Iphone')这不就是一条sql语句么。
select count(distinct orderId) from OrderItem where name = 'Iphone'
select count(*) from Order t where exists (select 1 from OrderItem where name ='Iphone' and id = t.id)
FROM ORDERITEM
GROUP BY ORDERID, NAME
HAVING NAME = 'Iphone';
id name
1 1name
2 2name
OrderItem表
id orderId name
1 1 Iphone
2 1 Iphone
3 2 Iphone
4 2 Iphone select count(*) from order o inner join orderItem item on o.id=item.orderid where item.name='iphone' group by o.name