二、假设有以下购物表,请查询所有购入商品为两种或两种以上的购物人记录: 购物人 商品名称 数量 A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5
时间: 2024-01-02 11:02:17 浏览: 28
可以使用子查询和DISTINCT关键字来查询购入商品为两种或两种以上的购物人记录。
```
SELECT DISTINCT shopper
FROM shopping
WHERE shopper IN (
SELECT shopper
FROM shopping
GROUP BY shopper
HAVING COUNT(DISTINCT item) >= 2
);
```
这将返回一个结果集,其中包含购入商品为两种或两种以上的购物人记录。子查询将找到所有购物人购入的商品数量,如果商品数量大于等于2,则说明购物人购入了两种或两种以上的商品。外部查询将使用IN运算符从子查询中选择购物人。
相关问题
sql语句请给出所有购入商品为两种或两种以上的购物人记录。
可以使用如下的 SQL 查询语句来获取所有购入商品为两种或两种以上的购物人记录:
```
SELECT customer_name
FROM purchases
GROUP BY customer_name
HAVING COUNT(DISTINCT product_name) >= 2;
```
这条语句会对购物记录表 `purchases` 中的数据进行聚合,并按照购物人 `customer_name` 进行分组。然后,使用 `HAVING` 子句来筛选出购入商品种类数量不少于 2 种的购物人记录。最后,只返回购物人的姓名。
二、假设有以下购物表,请查询所有购入商品为两种或两种以上的购物人记录:(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 商品名称) 统计每个购物人购买的不同商品种类数,最后筛选出购买两种或两种以上商品的购物人记录。
相关推荐
![](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)