mysql比较枚举

时间:2009-10-30 13:08:50

标签: 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_INCREMENT=5 DEFAULT CHARSET=latin1;

我写的时候

GROUP BY ... WHERE cst.CustomerStatusName<>'TERMINATE' ;

我收到语法错误

  

错误1064(42000):您有错误   在你的SQL语法中;检查手册   对应于您的MySQL服务器   用于正确语法的版本   靠近'WHERE   cst.CustomerStatusName&LT;&GT; 'TERMINATE'”   在第1行

我如何正确检查这个?

2 个答案:

答案 0 :(得分:3)

WHERE子句必须在GROUP BY子句之前。

答案 1 :(得分:1)

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

有关详细信息,请参阅此处:

http://www.databasejournal.com/features/mysql/article.php/3469351/The-HAVING-and-GROUP-BY-SQL-clauses.htm