我需要做一个 sql

问题描述 投票:-1回答:1

**

SELECT clientName, orderID FROM
Orders INNER JOIN clients ON orders.clientID = clients.clientID;

**

我可以显示每个客户和他们的每个订单。请帮我改正我的SQL语法,让我显示每个客户的订单数。

我还想让我的结果按客户名称的字母顺序排列。

请给我写一个新的SQL语法!

sql syntax client
1个回答
0
投票

SELECT clientName, COUNT(*)FROM Orders INNER JOIN clients ON orders.clientID = clients.clientIDGROUP BY clientNameORDER BY clientName。


0
投票

你可以使用聚合。

select c.clientName, count(*) no_orders
from clients c
inner join orders o on o.clientID = c.clientID
group by c.clientID, c.clientName

注释:

  • 表的别名使查询更容易读和写

  • 添加客户的id到 group by 子句处理了不同客户机可能有相同名称的可能性

  • 一般来说,您希望避免使用骆驼大小写标识符(ClientName),而用蛇形箱代替(client_name):从数据库的角度来看,标识符是不分大小写的(除非加引号)

© www.soinside.com 2019 - 2024. All rights reserved.