sql语句请给出所有购入商品为两种或两种以上的购物人记录。
时间: 2024-02-25 20:54:34 浏览: 40
可以使用如下的 SQL 查询语句来获取所有购入商品为两种或两种以上的购物人记录:
```
SELECT customer_name
FROM purchases
GROUP BY customer_name
HAVING COUNT(DISTINCT product_name) >= 2;
```
这条语句会对购物记录表 `purchases` 中的数据进行聚合,并按照购物人 `customer_name` 进行分组。然后,使用 `HAVING` 子句来筛选出购入商品种类数量不少于 2 种的购物人记录。最后,只返回购物人的姓名。
相关问题
1.表名:购物信息 商品名称 购物人 甲 A N B c 4 T B 数量 2 4 1 2 5 .... 请给出所有购入商品为两种或两种以上的购物人记录 给出sql语句
以下是根据给定的购物信息表结构,使用SQL语句查询购入商品为两种或两种以上的购物人记录的示例:
```sql
SELECT 购物人
FROM 购物信息
GROUP BY 购物人
HAVING COUNT(DISTINCT 商品名称) >= 2;
```
上述SQL语句中,我们首先通过`GROUP BY`语句按购物人对记录进行分组,然后使用`HAVING`子句筛选出购入商品为两种或两种以上的购物人记录。`COUNT(DISTINCT 商品名称)`用于统计每个购物人购买的不同商品数量,并将其与2进行比较。
请注意,上述SQL语句是基于购物信息表格的结构和字段名进行的假设,如果实际情况有所不同,请将表名、字段名等相应修改为实际情况。
二、假设有以下购物表,请查询所有购入商品为两种或两种以上的购物人记录:(15分) 购物人 商品名称 数量 A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5
可以使用 GROUP BY 和 HAVING 子句来实现该查询。具体的 SQL 语句如下:
```sql
SELECT 购物人
FROM 购物表
GROUP BY 购物人
HAVING COUNT(DISTINCT 商品名称) >= 2;
```
该语句首先按照购物人进行分组,然后使用 COUNT(DISTINCT 商品名称) 统计每个购物人购买的不同商品种类数,最后筛选出购买两种或两种以上商品的购物人记录。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)