mysq5.7有表名为element_instance,有唯一主键id,父级vest_id字段。根据多个id查询所有父级去重,不使用WITH RECURSIVE,请写出详细实现方式
时间: 2024-02-13 18:06:43 浏览: 20
可以使用连接查询和子查询来实现这个需求:
```mysql
SELECT DISTINCT t1.vest_id
FROM element_instance t1
JOIN (
SELECT id
FROM element_instance
WHERE id IN (1, 2, 3, 4) -- 替换成需要查询的多个id
) t2 ON t1.id = t2.id
```
首先在子查询中查询出所有需要查询的id,然后在连接查询中使用这些id和父级vest_id进行关联,最后使用DISTINCT去重得到所有的父级vest_id。
相关问题
mysq查询在coupon_user 表中 coupon_type_id等于43的数据并且根据user_id分组
下面是在 MySQL 中查询 coupon_user 表中 coupon_type_id 等于 43 并且根据 user_id 分组的语句:
```
SELECT * FROM coupon_user WHERE coupon_type_id = 43 GROUP BY user_id;
```
mysq查询在coupon_user 表中 相同的user_id出现的次数
要查询coupon_user表中相同的user_id出现的次数,可以使用如下的MySQL查询语句:
```
SELECT user_id, COUNT(user_id) FROM coupon_user
GROUP BY user_id
HAVING COUNT(user_id) > 1;
```
这条查询语句选择coupon_user表中的user_id列,并统计每个user_id出现的次数,最后利用GROUP BY语句按user_id分组,HAVING语句筛选出次数大于1的记录。