有一张a公司合同表和一张b公司合同表,帮我写一段sql,统计同一个客户在两家公司的合同数
时间: 2024-02-09 16:11:23 浏览: 28
假设a公司的合同表为a_contracts,包含以下字段:
- id: 合同ID
- customer: 客户名称
b公司的合同表为b_contracts,包含以下字段:
- id: 合同ID
- customer: 客户名称
那么可以使用如下SQL语句统计同一个客户在a公司和b公司的合同数:
```
SELECT
customer,
COUNT(DISTINCT a_contracts.id) AS a_contracts,
COUNT(DISTINCT b_contracts.id) AS b_contracts
FROM
a_contracts
JOIN b_contracts ON a_contracts.customer = b_contracts.customer
GROUP BY
customer;
```
这个SQL语句使用了JOIN语句将a_contracts和b_contracts表连接起来,按照customer字段进行匹配,然后统计每个客户在两个表中的合同数。注意使用了DISTINCT关键字去除重复的合同ID。
相关问题
帮我写一段sql,统计各品牌在a公司的合同数和在b公司的合同数
假设有一个名为contracts的表,包含以下字段:
- id: 合同ID
- brand: 合同品牌
- company: 合同所属公司
那么可以使用如下SQL语句统计各品牌在a公司和b公司的合同数:
```
SELECT
brand,
SUM(CASE WHEN company = 'a' THEN 1 ELSE 0 END) AS a_contracts,
SUM(CASE WHEN company = 'b' THEN 1 ELSE 0 END) AS b_contracts
FROM
contracts
GROUP BY
brand;
```
这个SQL语句使用了SUM和CASE WHEN语句,将符合条件的合同数加起来,最终按品牌分组统计。
帮我写一段sql要求统计一张表中字段中小于5个字符的数据
好的,以下是统计一张表中字段中小于5个字符的数据的 SQL 语句:
```
SELECT COUNT(*) FROM table_name WHERE LENGTH(column_name) < 5;
```
其中,`table_name` 是需要查询的表名,`column_name` 是需要统计长度的字段名。`LENGTH()` 函数用于计算字符串的长度,`COUNT()` 函数用于统计符合条件的数据条数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)