正确使用MySQL的总和功能
我有如下表:正确使用MySQL的总和功能
Field | Type | Null | Key | Default | Extra |
+-----------------+----------------------+------+-----+---------+-------+
| SMILES | char(200) | NO | PRI | | |
| ConfRank | smallint(5) unsigned | NO | | NULL | |
| CompTime | double | YES | | NULL | |
我想要得到一个特定的SMILES(意COMPTIME添加特定的笑容人confrank)总COMPTIME。
我试过如下:
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies GROUP BY ConfRank WHERE SMILES='C';
而且收到此错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
WHERE SMILES='C'
' at line 1
我也试过:
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies GROUP BY ConfRank WHERE SMILES='C' GROUPBY ConfRank ;
并得到了另一个错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
WHERE SMILES='C' GROUPBY ConfRank
' at line 1
什么是正确的语法?
尝试以下
SELECT SMILES,(SUM(CompTime)) From GeoAndEnergies WHERE SMILES='C' GROUP BY ConfRank;
您的GROUP BY
应该遵循WHERE
条款。更新内容如下:后where
条款
SELECT `SMILES`,
SUM(`CompTime`)
FROM `GeoAndEnergies`
WHERE `SMILES` = 'C'
GROUP BY `ConfRank`;
请解释downvote。 – BenM
你group by
条款应该会出现。
所以我用 SELECT SMILES,(SUM(COMPTIME))从GeoAndEnergies其中,方法= 'PM6' GROUP BY SMILES INTO OUTFILE“的/ var/lib中/ MySQL的,文件/ data_PM6_timesum“;
and mysql> SELECT SMILES,(SUM(CompTime))From GeoAndEnergies WHERE Method ='PM6'GROUP BY SMILES INTO OUTFILE“/ var/lib/mysql-files/data_PM6_time”; 和SELECT SMILES,NRotBond,NHeavyAtom From GeoAndEnergies WHERE Method ='PM6'AND ConfRank = 1 INTO OUTFILE“/ var/lib/mysql-files // data_PM6_rotheavy”; 创建data_PM6_rotheavy和data_PM6_time。 通过捕获2你应该有你想要的。
完美,谢谢! – Laetis
其中是您的表格中的方法字段 –