这是从单个表中进行的简单选择。目的是选择四个随机乘积,从x个类别的每一个类别中选择一个,并具有几个“ where”限制。我已经试过了:
SELECT pName,
pID
from products
WHERE pDisplay=1
AND pFeatured=1
GROUP BY pCategory
ORDER BY RAND()
LIMIT 0,4
这种类型的作品,但始终会返回任何给定类别的相同产品。我想更改显示的产品,同时仍然只显示任何给定类别的单个产品。
我也尝试过:
SELECT DISTINCT(pCategory)
pName,
pID
from products
WHERE pDisplay=1
AND pFeatured=1
ORDER BY RAND()
LIMIT 0,4
我在想,也许它需要两个选择-第一个选择一个随机的4个类别,第二个选择从每个类别中选择一个随机行,但是a。不知道该怎么做,以及b。如果可能,希望使用单个查询。
不太好,但是我认为这是在MySQL中可以做的最好的事情。
SELECT p.pID, p.pName
FROM (
SELECT (
SELECT pID FROM products
WHERE pCategory=p.pCategory AND pDisplay=1 AND pFeatured=1
ORDER BY rand() LIMIT 1
) AS pID
FROM products p
WHERE pDisplay=1 AND pFeatured=1
GROUP BY pCategory
ORDER BY rand() LIMIT 4
) c
JOIN products p ON c.pID = p.pID
(karim79的查询可以返回同一类别的多个产品,甚至可能返回pDisplay = 0或pFeatured =
0的产品。rexem的查询处理pDisplay / pFeatures问题,但也可以返回同一类别的多个产品)
问题内容: 在mysql表中,我有: ID,名称,城市,日期,状态 我想从“信息”中选择所有名称 好吧,结果是它返回了所有条目。我想回显所有没有重复的条目。 说:在原始的“名称”下,我们已经将名称“ John”插入了10次。 我只想回声一次。这可能吗? 问题答案: 很简单: SQL关键字可以解决问题。
我有1个数据帧,我想选择所有没有重复的行 我的df: 我的输出应该是: 我正在使用熊猫数据框 有什么建议吗?
我正在编写一个二十一点游戏。我有一个所有可用牌类型的枚举。交易时,我想使用Random从枚举中随机选择一张牌给玩家。如何使用整数值对应枚举值?或者,我如何为该枚举的变量随机选择枚举值? 纸牌Enun:
我有一个表格结构 如何使用条件?我尝试使用这个,但结果是
问题内容: 该代码从一组预设颜色中选择一种随机颜色。如何使同一颜色不会被多次拾取? 问题答案: 创建一个索引数组。从数组中删除索引之一,然后使用它来获取颜色。 像这样: 上面的代码创建一个数组。该函数看是否为空。如果是,则使用0到的索引值填充它。 然后,它在数组中选择一个随机索引,从数组中的该索引处删除值,然后使用它从中获取并返回一个对象。(它不会从中删除对象。它使用间接操作,并从indexsAr
我使用了这段代码来随机化1000000个数字而不重复。这是我目前所掌握的。 这种方法太慢了,你能告诉我如何更有效地完成这项工作吗?我感谢所有答复。问候