高分,在线等一条表联的sql语句
有两张表,用户名cus_user与订单表D_order,订单表里有cus_userId的外键
现在要求是:
查出来有订单的用户名及订单数量,按数量从大到小排,如果数据不够10条,则以其它用户补充,订单数量显示为0按用户的编号排。
select cu.loginName, count(*) as num from d_order o left join cus_user cu on o.cus_userId=cu.autoId group by cu.loginName order by num desc
--1select cu.loginName, isnull(count(o.cus_userid),0) as num from d_order o right join cus_user cu on o.cus_userId=cu.autoIdand (orderType='ORDER_PRODUCT' or orderType='ORDER_GOODS') and orderStatusForCus='JYWC' group by cu.loginName order by num desc, cu.loginName --2SELECT cu.loginName, isnull(count(o.cus_userid),0) as num FROM cus_user cu LEFT JOIN (SELECT cus_userId FROM d_order WHERE (orderType='ORDER_PRODUCT' or orderType='ORDER_GOODS') and orderStatusForCus='JYWC') oon o.cus_userId=cu.autoIdgroup by cu.loginName order by num desc, cu.loginName