Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL如何';分组依据';数学表达式_Mysql_Group By - Fatal编程技术网

MySQL如何';分组依据';数学表达式

MySQL如何';分组依据';数学表达式,mysql,group-by,Mysql,Group By,问题是。假设我有一张这样的桌子 id | MF_SONUC ---------- 1 | 5 2 | 8 3 | 15 4 | 12 5 | 18 6 | 3 7 | 40 我想要实现的是通过将值除以某个值来分组(取8)。 所以结果应该是这样的 count| step ----------- 3 | 1 2 | 2 1 | 3 1 | 5 到目前为止,我得到了这个 SELECT COUNT(C

问题是。假设我有一张这样的桌子

id | MF_SONUC   
----------    
1  | 5  
2  | 8  
3  | 15  
4  | 12  
5  | 18  
6  | 3  
7  | 40  
我想要实现的是通过将值除以某个值来分组(取8)。 所以结果应该是这样的

count| step 
----------- 
 3   | 1  
 2   | 2  
 1   | 3  
 1   | 5  
到目前为止,我得到了这个

SELECT COUNT(CEILING( MF_SONUC /8 )) AS counter , MF_SONUC
FROM `mytable`
ORDER BY CONVERT( REPLACE( MF_SONUC, ',', '' ) , DECIMAL( 10, 2 ) ) ASC
GROUP BY CEILING( MF_SONUC /8 )
这里的group子句引发错误。有人能帮我吗?
谢谢

首先,您的订购有些错误:
orderby
子句必须位于
groupby
子句之后

其次,
COUNT()
中的计算是不必要的,只需将其删除即可

最后,我猜
上限
操作也应该是结果集的一部分,因此您可以在
分组中重用它,如下所示:

SELECT COUNT(*) AS counter , CEILING( MF_SONUC /8 ) AS `step`
FROM `mytable`
GROUP BY step
ORDER BY CONVERT( REPLACE( MF_SONUC, ',', '' ) , DECIMAL( 10, 2 ) ) ASC

首先,您的订购有点错误:
ORDER BY
子句必须位于
GROUP BY
子句之后

其次,
COUNT()
中的计算是不必要的,只需将其删除即可

最后,我猜
上限
操作也应该是结果集的一部分,因此您可以在
分组中重用它,如下所示:

SELECT COUNT(*) AS counter , CEILING( MF_SONUC /8 ) AS `step`
FROM `mytable`
GROUP BY step
ORDER BY CONVERT( REPLACE( MF_SONUC, ',', '' ) , DECIMAL( 10, 2 ) ) ASC