日期:2014-05-19  浏览次数:20588 次

求:一道关于SQL的面试题?
一面试题以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查出。


------解决方案--------------------
当然跟简单的也可以写成这样

SQL code

select count(distinct orderId) from OrderItem where name = 'Iphone'

------解决方案--------------------
7L的不行么???

探讨

请大侠继续发帖解题。。。

------解决方案--------------------
select count(distinct orderId) from OrderItem where name = 'Iphone'