MySQL-如何按文本内容分组?
我有一个简单的表类似于此。有制造不同类型汽车的制造商;每辆车都有一个型号(唯一钥匙) 如何选择只生产一种车型和多个车型的制造商?我真的绞尽脑汁想想出一个办法来做这件事。我认为GROUP BY和HAVING子句与COUNT()函数一样相关,但如果尝试: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(因为它们只有一个型号),这不是我需要的。我需要在
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 ║
╚═══════╩═══════╝