首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择N条随机记录,限制为某一类别,如果滚动到下一条记录较少

选择N条随机记录,限制为某一类别,如果滚动到下一条记录较少
EN

Stack Overflow用户
提问于 2012-07-04 23:43:10
回答 1查看 94关注 0票数 0

我有一个表,我尝试检索一定数量的随机条目,我希望将某个类别的条目的最大数量放在顶部,然后是另一个类别的特定数量。

如果在第一类别中没有条目,则其所允许的条目数量将被添加到2sd类别的条目数量。

例如,我的表有3个类别(类别:'complete','partial','empty')。我想总共显示12个条目。

对于"complete“类别,我想显示8。然后显示3个分音,最后显示1个空。

如果少于8个完整,假设有5个,那么它将显示5个完整,6个分音和1个空。(缺少3个完整的,所以3个基本分音+3个额外的分音= 6)。

执行此操作的查询是什么?

以下是我实际拥有的查询:

代码语言:javascript
复制
SELECT *
FROM items
ORDER BY category='complete' DESC, category='partial' DESC, category DESC, RAND() ASC
LIMIT 12

上面的查询的问题是它得到了12个完成,而这并不完全是我想要的。

EN

回答 1

Stack Overflow用户

发布于 2012-07-04 23:52:39

您可以使用USION DISTINCT语句。

试着这样做:

代码语言:javascript
复制
(SELECT * FROM items WHERE category = "complete" LIMIT 8)
UNION DISTINCT (SELECT * FROM items WHERE category = "partial" LIMIT 3)
UNION DISTINCT (SELECT * FROM items WHERE category = "" LIMIT 1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11332148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档