2012-10-18 37 views
1

我正在使用MySQL。选择最小,最大,平均值,其中

我想选择最小,最大和平均长度的领域,但我不知道如何。类似这样的:

SELECT 
    min as min, 
    max as max, 
    avg as avg 
FROM COLUMNS 
WHERE COLUMN_NAME like '%password%' 

任何想法?

+1

你试图找到_column names_或_column values_的长度统计? –

回答

7
select 
    column_name, 
    min(length(column_name)) as min, 
    max(length(column_name)) as max, 
    avg(length(column_name)) as avg 
from columns 
where column_name like '%password%' 
group by column_name 
+0

这是我想要的东西,但对于返回的每一行。当我做SELECT * FROM COLUMN_NAME LIKE'%password%'时,它返回100条记录。我如何获得每个记录的最小值,最大值和平均值?列COLUMN_NAME包含我数据库中每列的名称。 – Alias

+1

@Alias在查询结尾处添加“GROUP BY COLUMN_NAME”。 –

+0

我改变了答案 –

2
SELECT Min(COLUMN_NAME), 
     Max(COLUMN_NAME), 
     Avg(COLUMN_NAME) 
    FROM TABLENAME 
WHERE COLUMN_NAME LIKE '%password%' 
0
SELECT Min(MENTION_COLUMN_NAME_HERE) AS minimum_value, 
     Max(MENTION_COLUMN_NAME_HERE) AS maximum_value, 
     Avg(MENTION_COLUMN_NAME_HERE) AS average_value 
    FROM COLUMNS 
WHERE COLUMN_NAME LIKE '%passord%' 
相关问题