二、假设有以下购物表,请查询所有购入商品为两种或两种以上的购物人记录:(15分) 购物人 商品名称 数量 A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5
时间: 2024-01-02 22:02:16 浏览: 143
可以使用 GROUP BY 和 HAVING 子句来实现该查询。具体的 SQL 语句如下:
```sql
SELECT 购物人
FROM 购物表
GROUP BY 购物人
HAVING COUNT(DISTINCT 商品名称) >= 2;
```
该语句首先按照购物人进行分组,然后使用 COUNT(DISTINCT 商品名称) 统计每个购物人购买的不同商品种类数,最后筛选出购买两种或两种以上商品的购物人记录。
相关问题
二、假设有以下购物表,请查询所有购入商品为两种或两种以上的购物人记录: 购物人 商品名称 数量 A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5
可以使用子查询和DISTINCT关键字来查询购入商品为两种或两种以上的购物人记录。
```
SELECT DISTINCT shopper
FROM shopping
WHERE shopper IN (
SELECT shopper
FROM shopping
GROUP BY shopper
HAVING COUNT(DISTINCT item) >= 2
);
```
这将返回一个结果集,其中包含购入商品为两种或两种以上的购物人记录。子查询将找到所有购物人购入的商品数量,如果商品数量大于等于2,则说明购物人购入了两种或两种以上的商品。外部查询将使用IN运算符从子查询中选择购物人。
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语句是基于购物信息表格的结构和字段名进行的假设,如果实际情况有所不同,请将表名、字段名等相应修改为实际情况。
阅读全文