php 怎么 实现从数据库随机取出10条数据 按某个字段数量优先

时间:2022-02-15 14:47:39
请问 我想实现从数据库随机取出10条数据  但要按照某个字段的数量作为优先依据  例如:水果字段   记录只有 苹果 要比记录有苹果,梨 的字段优先  如果什么都没有则最优先   能否实现这种功能? 怎么实现?  

9 个解决方案

#1


补充 字段数量越少越优先

#2


请给出测试数据

#3


本帖最后由 fdipzone 于 2015-12-07 14:33:52 编辑
select * from table order by 优先字段1 asc , 普通字段2 limit 10

#4


引用 2 楼 xuzuning 的回复:
请给出测试数据

php 怎么 实现从数据库随机取出10条数据 按某个字段数量优先

#5


对于
id name 
1 苹果,梨,橙,柿 
2 苹果,梨,橙 
3 苹果,梨 
4 苹果 

select * from T where locate('苹果',name) order by length(name)-length(replace(name,',',''))
id name 
4 苹果 
3 苹果,梨 
2 苹果,梨,橙 
1 苹果,梨,橙,柿 

#6


mysql:SELECT * FROM table order by rand() limit  10; 

从数据库随机取出来之后再用php处理一下,按照你的需求再排序咯

#7


引用 5 楼 xuzuning 的回复:
对于
id name 
1 苹果,梨,橙,柿 
2 苹果,梨,橙 
3 苹果,梨 
4 苹果 

select * from T where locate('苹果',name) order by length(name)-length(replace(name,',',''))
id name 
4 苹果 
3 苹果,梨 
2 苹果,梨,橙 
1 苹果,梨,橙,柿 

大神 现在改变了下问题  就是
php 怎么 实现从数据库随机取出10条数据 按某个字段数量优先

#8


select * from 表 order by cound * rand() limit 3

#9


order by name = '苹果' desc, rand() limit 10

#1


补充 字段数量越少越优先

#2


请给出测试数据

#3


本帖最后由 fdipzone 于 2015-12-07 14:33:52 编辑
select * from table order by 优先字段1 asc , 普通字段2 limit 10

#4


引用 2 楼 xuzuning 的回复:
请给出测试数据

php 怎么 实现从数据库随机取出10条数据 按某个字段数量优先

#5


对于
id name 
1 苹果,梨,橙,柿 
2 苹果,梨,橙 
3 苹果,梨 
4 苹果 

select * from T where locate('苹果',name) order by length(name)-length(replace(name,',',''))
id name 
4 苹果 
3 苹果,梨 
2 苹果,梨,橙 
1 苹果,梨,橙,柿 

#6


mysql:SELECT * FROM table order by rand() limit  10; 

从数据库随机取出来之后再用php处理一下,按照你的需求再排序咯

#7


引用 5 楼 xuzuning 的回复:
对于
id name 
1 苹果,梨,橙,柿 
2 苹果,梨,橙 
3 苹果,梨 
4 苹果 

select * from T where locate('苹果',name) order by length(name)-length(replace(name,',',''))
id name 
4 苹果 
3 苹果,梨 
2 苹果,梨,橙 
1 苹果,梨,橙,柿 

大神 现在改变了下问题  就是
php 怎么 实现从数据库随机取出10条数据 按某个字段数量优先

#8


select * from 表 order by cound * rand() limit 3

#9


order by name = '苹果' desc, rand() limit 10