mysql如何根据某一字段进行随机排序?

酒逍遥 发布于 2012/08/10 08:56
阅读 3K+
收藏 0

现在有张表 3个字段  商品 id   商品名称 name   商品种类 category

现在要求根据category 进行随机排序

举例

id        name       category

1        衣服1       西装

2        衣服2       西装

3        衣服3        衬衫

4        衣服4        衬衫

5        衣服5        裙子

查询结果根据category进行随机排序

也就是查询结果可能是:

衣服5 裙子

衣服3 衬衫

衣服4 衬衫

衣服2 西装

衣服1 西装        

或者

衣服3 衬衫

衣服4 衬衫

衣服2 西装

衣服1 西装

衣服5 裙子

   

加载中
0
酒逍遥
酒逍遥

现在有个思路是 先把分类全取出来..并随机排序.. 取排在第一个分类 例如是 西装

然后查询的时候  order by (category='西装') desc,category 即可实现要求

 

0
归海一刀
归海一刀
order by category rand()
0
酒逍遥
酒逍遥

引用来自“cone”的答案

order by category rand()
这是想当然了吧....sql 应该不支持这种写法..会报错的
0
归海一刀
归海一刀

引用来自“酒逍遥”的答案

引用来自“cone”的答案

order by category rand()
这是想当然了吧....sql 应该不支持这种写法..会报错的

手误,应该是  order by rand()

你可以看看

http://database.51cto.com/art/201010/229217.htm

0
酒逍遥
酒逍遥

引用来自“cone”的答案

引用来自“酒逍遥”的答案

引用来自“cone”的答案

order by category rand()
这是想当然了吧....sql 应该不支持这种写法..会报错的

手误,应该是  order by rand()

你可以看看

http://database.51cto.com/art/201010/229217.htm

order by rand() 我知道...

但是 要求相同分类的记录必须 挨在一起的...

0
SNY
SNY
单条sql不要考虑了,要么存储过程,要么程序处理。
0
酒逍遥
酒逍遥

引用来自“SNY”的答案

单条sql不要考虑了,要么存储过程,要么程序处理。

嗯 我的思路 用存储过程已经实现了...

单条sql 好像是没办法搞定

0
IdleMan
IdleMan
mysql不支持union?支持的话单条就可以了吧
0
虎爷
虎爷
使用  order by rand() 的人我不知道应该说什么
酒逍遥
酒逍遥
其实数据量不大的话 用order by rand() 简单方便快捷. 不过最好还是用程序把整张表的数据取出来,然后程序里来做文章.比数据库查询还是块不少
返回顶部
顶部