正确使用mysql求和函数
我有下表:正确使用mysql求和函数,mysql,Mysql,我有下表: Field | Type | Null | Key | Default | Extra | +-----------------+----------------------+------+-----+---------+-------+ | SMILES | char(200) | NO | PRI | | | | ConfRank | sm
Field | Type | Null | Key | Default | Extra |
+-----------------+----------------------+------+-----+---------+-------+
| SMILES | char(200) | NO | PRI | | |
| ConfRank | smallint(5) unsigned | NO | | NULL | |
| CompTime | double | YES | | NULL | |
我想获得特定微笑的总CompTime(意味着CompTime是为特定微笑的所有confrank添加的)
我尝试了以下方法:
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies GROUP BY ConfRank WHERE SMILES='C';
并收到此错误:
错误1064(42000):您的SQL语法有错误;检查
与右边的MySQL服务器版本相对应的手册
在第1行的“WHERE='C'
”附近使用的语法
我还尝试:
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies GROUP BY ConfRank WHERE SMILES='C' GROUPBY ConfRank ;
并收到另一个错误:
错误1064(42000):您的SQL语法有错误;检查
与右边的MySQL服务器版本相对应的手册
在第1行的“WHERE='C'GROUPBY ConfRank
”附近使用的语法
正确的语法是什么?您的
分组依据应遵循WHERE
子句。更新如下:
SELECT `SMILES`,
SUM(`CompTime`)
FROM `GeoAndEnergies`
WHERE `SMILES` = 'C'
GROUP BY `ConfRank`;
您的分组依据
子句应出现在where
子句之后。请尝试以下操作
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies WHERE SMILES='C' GROUP BY ConfRank;
所以我用
从GeoAndEnergies中选择SMILES,(SUM(CompTime)),其中Method='PM6'按SMILES分组到OUTFILE“/var/lib/mysql files/data_PM6_timesum”
和
mysql>从GeoAndEnergies中选择SMILES,(SUM(CompTime)),其中Method='PM6'将SMILES分组到OUTFILE”/var/lib/mysql files/data_PM6_time”;
并从GeoAndEnergies中选择SMILES、NRotBond、NHeavyAtom,其中Method='PM6'和ConfRank=1进入OUTFILE“/var/lib/mysql文件//data\u PM6\u rotheavy”;
创建数据PM6和数据PM6时间。
通过计算2,您应该得到您想要的。表中的方法字段在哪里