我只是有这样的数据表
ID PHONE_NUMBER VERSION VERSION_NAME
--------------------------------------------------------------
1 86578900000 0 3.4.2
2 86578900000 1 3.4.2.1
3 899589023200 0 3.4.2
4 878999933336 0 3.4.2
5 82199987629 0 3.4.2
6 82199987629 1 3.4.2.1
7 888729203892 0 3.4.2.1
所以,我希望电话号码的数据只有一行,版本名称是3.4.2,如下所示:
ID PHONE_NUMBER
-----------------------------
3 899589023200
4 878999933336
我运行查询
Select PHONE_NUMBER from TABLE_C where VERSION_NAME = '3.4.2' group by PHONE_NUMBER having count(b.PHONE_NUMBER) = 1
但它并没有像预期的那样起作用
5条答案
按热度按时间huus2vyu1#
这里有一个选择:
第13行中的条件仅获取
3.4.2
版本名,而子查询(第14-18行)确保电话号码只有一个外观。stszievb2#
你可以用
not exists
:您可以直接将此查询描述为:“返回同一电话号码没有其他版本的所有行
'3.4.2'
".ars1skjm3#
您可以使用此方法,首先获取表中只有一个外观的电话号码,然后将该数据与3.4.2版中的电话号码进行比较。例如,电话号码899589023200将在PHU计数中成为一行,因为计数为1,然后899589023200也在版本3.4.2中,因此加入后,我们将在输出中获得它。
b0zn9rqh4#
您也可以使用
WINDOWS
功能如下:q9yhzks05#
尝试此查询它应该可以工作。。。