2016-05-14 81 views
0

随机产品列表我有一个包含细节的表的MySQL数据库,如下获得基于类型或类别

p_id p_name p_desc p_type 
    ---- ------ ------ ------- 
     1 Pro1 Pro1d premium 
     2 Pro2 Pro2d normal 
     3 Pro3 Pro3d classic 
     4 Pro4 Pro4d normal 
     5 Pro5 Pro5d deluxe 

我想列出的产品以这样一种方式,它会包含所有结果。但是 它将以随机顺序显示产品。它会显示一些普通型 产品,然后是高级产品,再普通型产品,豪华产品, 然后再次正常型,经典产品。是否有可能与 MySQL查询

+2

可能的,是的。伪随机,是的,但对于大型套装而言很昂贵。伪随机的,但遵循一些规则,这将是复杂的。 – spencer7593

回答

1

是否有可能以伪随机顺序返回行?是。但是对于大型套餐来说这将是昂贵的。

BY子句订单添加到您的查询:

... ORDER BY RAND() 

这将是大型成套昂贵的,因为RAND()函数将需要为每一行进行评估,并通过RAND返回的值( )函数将需要“使用文件”操作。

不保证第一行是“正常”,后面是“高级”。这是伪随机的,所以所有的“高级”产品都可能是第一个,或者是中间的,或者其他任何东西。