我使用group by函数来获取一些产品从我像小店铺:GROUPBY获得平均长度名字
select name, ProductID from blog group by ProductID
+----------------------------------------------------------+
| name |
+----------------------------------------------------------+
| AAA |
| BBBB |
| CCCC |
| DDDDDDDD |
+----------------------------------------------------------+
是否有可能获得在GROUPBY功能的平均长度的名字吗?
EDIT(从OP,放置在回答):(?AVG)
myysql> select length(name) as len, name from product where article=40 order by len asc;
+------+----------------------------------------------------------+
| len | name |
+------+----------------------------------------------------------+
| 3 | aaa |
| 6 | BBBBBB |
| 6 | CCCCCC |
| 8 | dddddddd |
+------+----------------------------------------------------------+
4 rows in set (0.00 sec)
通过这个例子,我需要得到像BBBBBB或CCCCCC一个值
长度为'CHAR_LENGTH',所以你的情况是'MAX(CHAR_LENGTH( name))/ COUNT(DISTINCT(name))''但这是非常低效的索引。如果这是你需要的,你应该有一个预先计算好长度的单独列。如果不是,你应该更清楚地说明你需要什么。 –
在你的例子中,答案是什么? 1值为4.75((3 + 4 + 4 + 8)/ 4)?或者每行的平均名称长度是多少,因为每个ProductID有多个名称? – AgRizzo
通过这个例子我需要BBBB或CCCC不是最小的长度和最长的长度 – kewl