mysql比较枚举

mysql比较枚举,sql,mysql,Sql,Mysql,这是我的一张桌子 CREATE TABLE `CUSTOMERSTATUSTYPES` ( `CustomerStatusId` int(1) unsigned NOT NULL auto_increment, `CustomerStatusName` enum('ACTIVE','SUSPEND','TERMINATE','CANCEL') default NULL, PRIMARY KEY (`CustomerStatusId`) ) ENGINE=MyISAM AUTO_IN

这是我的一张桌子

CREATE TABLE `CUSTOMERSTATUSTYPES` (
  `CustomerStatusId` int(1) unsigned NOT NULL auto_increment,
  `CustomerStatusName` enum('ACTIVE','SUSPEND','TERMINATE','CANCEL') default NULL,
  PRIMARY KEY  (`CustomerStatusId`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
当我写作时

GROUP BY ... WHERE cst.CustomerStatusName<>'TERMINATE' ;
分组依据。。。其中cst.CustomerStatusName“终止”;
我得到一个语法错误

错误1064(42000):您有一个错误 在SQL语法中;检查手册 对应于MySQL服务器的 要使用的正确语法的版本 在哪里附近 cst.CustomerStatusName“终止” 在1号线


如何正确检查此项?

WHERE子句必须位于GROUP BY子句之前。

WHERE子句必须位于GROUP BY子句之前。

您需要将WHERE子句置于GROUP BY子句之前,或者需要使用HAVING关键字

有关更多信息,请参见此处:


您需要将WHERE子句放在GROUP BY子句之前,或者需要使用HAVING关键字

有关更多信息,请参见此处:


您应该使用!=这是标准的,比@longneck更便于移植:我想你会发现ANSI SQL标准指定了
,而不是
=,作为“不等于”运算符。您应该使用!=这是标准的,比@longneck更便于移植:我想你会发现ANSI SQL标准指定了
,而不是
=,作为“不等于”运算符。