Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-如何按文本内容分组?_Mysql_Sql_Select_Count_Having - Fatal编程技术网

MySQL-如何按文本内容分组?

MySQL-如何按文本内容分组?,mysql,sql,select,count,having,Mysql,Sql,Select,Count,Having,我有一个简单的表类似于此。有制造不同类型汽车的制造商;每辆车都有一个型号(唯一钥匙) 如何选择只生产一种车型和多个车型的制造商?我真的绞尽脑汁想想出一个办法来做这件事。我认为GROUP BY和HAVING子句与COUNT()函数一样相关,但如果尝试: SELECT maker, type FROM table GROUP BY maker, type HAVING COUNT(type) = 1 它返回的东西像A-SEDAN和B-VAN(因为它们只有一个型号),这不是我需要的。我需要在

我有一个简单的表类似于此。有制造不同类型汽车的制造商;每辆车都有一个型号(唯一钥匙)

如何选择只生产一种车型和多个车型的制造商?我真的绞尽脑汁想想出一个办法来做这件事。我认为GROUP BY和HAVING子句与COUNT()函数一样相关,但如果尝试:

SELECT maker, type 
FROM table 
GROUP BY maker, type 
HAVING COUNT(type) = 1 
它返回的东西像
A-SEDAN
B-VAN
(因为它们只有一个型号),这不是我需要的。我需要在“type”列中获得一个具有相同值的行,同时具有多个模型

如何选择只生产一种车型和多个车型的制造商

您可以使用:

SELECT maker, MAX(type) AS type
FROM tab
GROUP BY maker
HAVING COUNT(DISTINCT TYPE) = 1
   AND COUNT(DISTINCT MODEL) > 1;

输出:

╔═══════╦═══════╗
║ maker ║ type  ║
╠═══════╬═══════╣
║ C     ║ SEDAN ║
╚═══════╩═══════╝

上帝啊,你真了不起。谢谢!我真的还有很长的路要走。@ViktorPoliakov,如果你的问题已经解决了,你可以:)我刚刚做到了。我的情绪太激动了。谢谢:)
╔═══════╦═══════╗
║ maker ║ type  ║
╠═══════╬═══════╣
║ C     ║ SEDAN ║
╚═══════╩═══════╝