我有下表:
Field | Type | Null | Key | Default | Extra |
+-----------------+----------------------+------+-----+---------+-------+
| SMILES | char(200) | NO | PRI | | |
| ConfRank | smallint(5) unsigned | NO | | NULL | |
| CompTime | double | YES | | NULL | |
我想得到特定SMILES的总CompTime(意味着Comptime被添加为特定微笑的混淆)。
我尝试了以下内容:
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies GROUP BY ConfRank WHERE SMILES='C';
并收到此错误:
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在第1行“
WHERE SMILES='C'
”附近使用的语法
我也尝试过:
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies GROUP BY ConfRank WHERE SMILES='C' GROUPBY ConfRank ;
又收到了另一个错误:
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在第1行“
WHERE SMILES='C' GROUPBY ConfRank
”附近使用的语法
正确的语法是什么?
答案 0 :(得分:0)
您的group by
子句应出现在where
子句之后。
答案 1 :(得分:0)
尝试以下
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies WHERE SMILES='C' GROUP BY ConfRank;
答案 2 :(得分:0)
所以我用过
SELECT SMILES,(SUM(CompTime))来自GeoAndEnergies WHERE Method =' PM6' GROUP BY SMILES INTO OUTFILE" / var / lib / mysql-files / data_PM6_timesum" ;
和
MySQL的> SELECT SMILES,(SUM(CompTime))来自GeoAndEnergies WHERE Method =' PM6' GROUP BY SMILES INTO OUTFILE" / var / lib / mysql-files / data_PM6_time" ;
和选择SMILES,NRotBond,NHeavyAtom来自GeoAndEnergies WHERE方法=' PM6' AND ConfRank = 1 INTO OUTFILE" / var / lib / mysql-files // data_PM6_rotheavy" ;
创建data_PM6_rotheavy和data_PM6_time。
通过捕捉2你应该拥有你想要的东西。
答案 3 :(得分:-1)
您的GROUP BY
应遵循WHERE
条款。更新如下:
SELECT `SMILES`,
SUM(`CompTime`)
FROM `GeoAndEnergies`
WHERE `SMILES` = 'C'
GROUP BY `ConfRank`;