mysql - mysql: 有后在哪里
问题描述
我有以下帖子表:
+-------------------+
| name | type |
+---------+---------+
| admin-1 | type1 |
| user-1 | type1 |
+-------------------+
我想按类型对帖子进行分组,如果该组有超过 1 个元素,则返回它们,然后根据名称过滤此结果。
这是尝试的查询:
select count(*), type from posts where name like 'admin-%' group by type having count(*) > 1
但是在我的查询中,where
在子句“之前”执行group by
,所以我没有进入type1
我的结果集中。
我怎样才能实现我想要的?
谢谢
解决方案
尝试嵌套查询
SELECT * FROM posts
WHERE type IN (
SELECT type FROM posts GROUP BY type HAVING COUNT(*) > 1
) AND name LIKE 'admin-%'
推荐阅读
- ios - SegmentedControl 和 Uipageview 查询
- google-tag-manager - GTM 上输入字段/按钮的唯一点击跟踪
- debugging - 是否可以调试 Intel TSX?
- powershell - 绕过 Powershell 运行 zsh 命令
- bash - 如何在现有 txt 文件中的 Bash 中编写第二列
- python - 如何从 python 中的正则表达式创建嵌套字典?
- django - Django中的复杂过滤/子查询
- sql - 如果满足条件,则删除所有重复项
- google-apps-script - 在整个工作表中查找具有特定值的单元格的功能
- flutter - 更新到 Flutter 1.12.13 后,TextField 提示/输入文本没有居中且没有 prefixIcon