发新话题
打印

一句随机查询的 SQL

我的mysql出了点问题,不能测试。只能说说思路  

GROUP  BY  width  可以满足“有几个值就提取几行”,但以最后出现的为准  
如  
15  200  
20  200  
则得到的是20  200  

DISTINCT(width)  也可以满足“有几个值就提取几行”,但以最先出现的为准  
如  
15  200  
20  200  
则得到的是15  200  

但这不能满足楼主的“随机查询”的要求  

所以需要先对表做随机排序然后再取  
由于mysql4.1.0以下不支持子查询,所以要使用临时表  
CREATE  TEMPORARY  TABLE  temp  SELECT  *  FROM  tbl_name  ORDER  BY  rand()  
SELECT  id,  DISTINCT(width)  FROM  temp

TOP

发新话题