前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql查找出现出现两次的项半路遇到迪威贵宾会I8Io883oo

mysql查找出现出现两次的项半路遇到迪威贵宾会I8Io883oo

原创
作者头像
用户5782834
修改2019-07-09 11:31:14
5790
修改2019-07-09 11:31:14
举报

看表:

mysql> select * from x;

+----+---+---+

| id | a | b |

+----+---+---+

|  1 | 1 | 2 |

|  2 | 5 | 3 |

|  3 | 1 | 4 |

|  4 | 1 | 5 |

|  5 | 5 | 1 |

|  6 | 6 | 1 |

+----+---+---+

    用group by:

mysql> select a, count(*) from x group by a;

+---+----------+

| a | count(*) |

+---+----------+

| 1 |        3 |

| 5 |        2 |

| 6 |        1 |

+---+----------+

3 rows in set (0.00 sec)

      然后再筛选:

mysql> select a, count(*) as c from x group by a where c = 2;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where c = 2' at line 1

mysql> 

      应该用having:

mysql> select a, count(*) as c from x group by a having c = 2;

+---+---+

| a | c |

+---+---+

| 5 | 2 |

+---+---+

1 row in set (0.00 sec)

mysql> 

       或者:

mysql> select * from (select a, count(*) as c from x group by a ) where c = 2;

ERROR 1248 (42000): Every derived table must have its own alias

mysql> 

       改为:

mysql> select * from (select a, count(*) as c from x group by a ) as b where c = 2;

+---+---+

| a | c |

+---+---+

| 5 | 2 |

+---+---+

1 row in set (0.00 sec)

        或者:

mysql> select * from (select a, count(*) as c from x group by a ) as b where b.c = 2;

+---+---+

| a | c |

+---+---+

| 5 | 2 |

+---+---+

1 row in set (0.00 sec)

       酱紫。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档