2012-11-15 45 views
0
SELECT count(w.c1) AS count 
    , w.c1 AS color 
FROM 
    data w 
GROUP BY 
    w.c1 
ORDER BY 
    w.id DESC 
LIMIT 
    50000; 

我想知道,有没有什么样的MySQL查询到组由ZEROFILL值,我在C1作为RGB代码“0002500034(r=000/g=250/b=034)所有值,查询后,表示喜欢关于000250034->250034如何通过zerofill来实现mysql组?

+0

为什么不救他们在十六进制或更好的二进制与int? –

+0

您是否将'c1'列定义为'zerofill'? –

回答

1

什么LPAD MySQL函数? LPAD(str,len,padstr)

SELECT count(w.c1) AS count 
, LPAD(w.c1, 9, '0') AS color 
FROM 
    data w 
GROUP BY 
    w.c1 
ORDER BY 
    w.id DESC 
LIMIT 
    50000; 

您也可以将您的列类型转换为CHAR(9)。

0
SELECT count(w.c1) AS count 
    , concat(w.c1) AS color 
FROM 
    data w 
GROUP BY 
    w.c1 
    order by w.c1 desc 
LIMIT 
    50000;

只是尝试,它工作正常, 还我会尝试你的版本

编辑: 我的查询:

 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| Last_query_cost | 16.599000 | 
+-----------------+-----------+ 

VS您的

 
+-----------------+----------+ 
| Variable_name | Value | 
+-----------------+----------+ 
| Last_query_cost | 3.599000 | 
+-----------------+----------+