选择随机行,但一列中没有重复的值

2023-12-06

这是从单个表中进行的简单选择。目的是随机选择四种产品,从 x 个类别中的每个类别中选择一种,并有一些“位置”限制。我试过这个:

  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 问题,但也可以返回同一类别的多个产品)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择随机行,但一列中没有重复的值 的相关文章

  • MySQL - 从另一个表插入与常量合并的数据

    我有一个包含一些数据的临时表 products temp 并且我有另一个需要将数据插入其中的表 产品 我需要在新记录上手动设置一些常量 例如vendor id 1等 是否可以在一次请求中插入临时表数据和常量 临时产品 product nam
  • 如何限制两个表之间一对多关系中的多个数量?

    我有一个带有两个 MySql 表的 MySQL 数据库 第一个是第一个表 表 A 有一列具有唯一值 从值 从 1 到 n 在第二个表 2 表 B 中 我有两列 在第一个表中我有一个名称 在第二个我的值从 1 到 n 如果我在 中添加一个值
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • SQL Server查询麻烦,多对多关系

    不知道如何用一行字来表达这个问题 对标题表示歉意 我的数据库中有3个表 例如 Shop Item 商店库存 Shop 和 Item 具有多对多关系 因此 ShopStock 表将它们链接起来 ShopStock 中的字段是 ID ShopI
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF
  • 将子查询的结果插入表中并带有常量

    相关表格的概要如下 我有一个表 我们称之为联接 它有两列 都是其他表的外键 我们将这两列称为 userid 和buildingid 因此 join 看起来像 join userid buildingid 我基本上需要在这个表中插入一堆行 通
  • 从两个表中搜索然后删除

    我有两个包含成员数据的表 与 member id 列链接 我需要搜索所有记录email列以 pl 结尾 然后 我需要为此删除两个表中的所有记录 基于 member id 是否可以通过一条 SQL 语句完成此操作 SELECT member
  • 在 Django 中保存模型会出现“警告:字段‘id’没有默认值”

    我在 Django 中有一个非常基本的模型 class Case models Model name models CharField max length 255 created at models DateTimeField defau
  • 从 SQL Server 2012 查询结果中减去小时数

    我正在 SQL Server 2012 Management Studio 中的警报系统信号自动化平台数据库上运行查询 但遇到了一些问题 我的查询运行得很好 但我无法将结果细化到我想要的水平 我正在选择一些格式为的列DATETIME 我只想
  • SQL 查询按字母顺序对除一个之外的所有结果进行排序?

    我有一个小问题 我正在使用 SQL 数据库的结果填充选择标记 我想要的是最后一个添加为顶部条目 其余条目按字母顺序排序 所以它会返回 developerID developerName 40 ZZZ Dev 39 A Dev 38 Be N
  • SQL Server中主键和唯一索引的区别[重复]

    这个问题在这里已经有答案了 我的公司目前正在重写我们最近获得的一个应用程序 我们选择使用 ASP net mvc4 来构建这个系统 并使用实体框架作为我们的 ORM 我们收购的公司的前任所有者非常坚定地要求我们使用他们的旧数据库 并且不对其
  • MySQL如何根据字段是否存在来插入新记录或更新字段?

    我正在尝试实现一个评级系统 在数据库表中保留以下两个字段 评级 当前评级 num rates 迄今为止提交的评分数量 UPDATE mytable SET rating rating num rates theRating num rate
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • 纠正mysql创建用户时语法错误

    所以我很常见ERROR 1045 28000 Access denied for user root localhost using password YES mysql错误 我已经尝试了论坛上的所有典型修复 通过 mysql safe 方
  • 如何将 RedShift 上的表卸载到单个 CSV 文件?

    我想将一个表从Amazon RedShift迁移到MySQL 但是使用 unload 会生成多个数据文件 这些数据文件很难直接导入到MySQL中 有什么方法可以将表卸载到单个 CSV 文件中 以便我可以将其直接导入到 MySQL 中吗 为了
  • 插入后触发更新表列?

    在同一个表中添加任何记录后 我需要更新表中的列 这是我的sql代码 CREATE TRIGGER dbo EmployeeInsert ON dbo APP Employees AFTER INSERT AS BEGIN SET NOCOU
  • Mysql为简单频繁查询创建排序索引性能

    我正在处理一个包含大约 400 万条消息条目的 mysql 表 并尝试根据时间戳选择最新的 50 条消息 另一个要求是返回的消息不以固定前缀开头 问题是单个查询大约占用 25 的 cpu 并且最多需要 1 5 秒 该查询经常由多个客户端执行
  • 解码Json数据数组并插入到mysql

    这个问题可能已经在这里问过 但我尝试搜索找不到它 我有如下 Json 数据 CityInfo CityCode 5599 Name DRUSKININKAI CityCode 2003 Name KAUNAS CityCode 2573 N
  • SQL:比较不同表中的两个计数

    我有 3 张桌子 一张桌子上有世界上每个国家及其代币 NAME CODE Afghanistan AFG Albania AL Algeria DZ American Samoa AMSA Andorra AND Angola ANG An
  • ASP.NET API:尚未为此 DbContext 配置数据库提供程序

    我正在尝试从我的 Net Core API 项目连接到 MySql 数据库 这是我的上下文类 public class MyContext DbContext public MyContext public MyContext DbCont

随机推荐

  • 在 Bash 中从 $PATH 变量中删除路径的最优雅的方法是什么?

    或者更一般地说 如何从 Bash 环境变量中以冒号分隔的列表中删除项目 我以为几年前我已经看到了一种简单的方法 使用更高级的 Bash 变量扩展形式 但如果是这样 我已经忘记了它 谷歌的快速搜索令人惊讶地发现很少有相关结果 而且没有一个我称
  • 具有 ObservableCollection 和 INotifyPropertyChange 的 Json.Net 类层次结构被序列化但未反序列化

    我发现自己对此有点迷失 老实说 如果只是类结构与 JSON 错误不匹配 我真的看不到错误 但我对此表示怀疑 因为它与我用来创建 JSON 的类结构完全相同 如果有人能指出我正确的方向 我将不胜感激 我创建了一个 dotnetfiddle 以
  • 当 UIAlertController 处于活动状态时,VoiceOver Z 手势不会触发

    我正在尝试使用 Z 手势来关闭 UIAlertController 我有一个非常简单的应用程序 它有一个带有 1 个按钮的单一视图 点击按钮会出现警报 我已经实施了 BOOL accessibilityPerformEscape NSLog
  • 如果在框列表上单击,如何添加选定的按钮?

    我从这里得到参考 https bootstrap vue js org docs components card card groups https bootstrap vue js org docs components button p
  • 在 C# 中从 C++ 代码中获取对象功能

    我有一个用 C 编写的函数 它调用旧库中的一些函数 该函数创建一些内存 进行调用并销毁内存 为了优化这一点 我将创建一个对象 该对象将保留分配的内存 直到该对象被销毁 不过 我将从 C 调用此函数 并且不相信我可以导出类 而只能导出函数或变
  • 如何在 C# Asp.net 中取消注册 Page.ClientScript

    我正在将 java 脚本注册到我的 Asp net 代码隐藏文件中 该文件工作正常 现在 我在同一页面上有一些更新面板 问题是每当任何更新面板中有任何更改时 都会自动调用此脚本 有什么办法可以阻止这种情况发生吗 我无法从我的页面中删除更新面
  • 如何在PHP中显示或预览上传的图像,而不保存到数据库?

    我的项目实际上涉及2个页面 第1页是一个表单 用于将上传的图像提交到第2页action 2page php 并将显示和预览图像 它应该在客户端服务器上运行 这意味着不涉及将图像文件保存到其中并将特定图像检索回我想要执行的页面的数据库 实际上
  • WELD-001409 不明确的依赖关系

    我想将我的 ejb ProfileEJB 注入到我的 jsf 托管 bean SampleController 中 如下所示 Stateless LocalBean public class ProfileEJB PersistenceCo
  • 我想创建一个 DeskBand。我必须使用 C++ 吗?

    我想创建一个 DeskBand 来在 Windows 任务栏上显示一些信息 但我正在努力在 C 中实现我需要的功能 我接触C 已经有10 15年了 过去 7 年我一直在 NET 中工作 在你说之前 我知道 DeskBands 已被弃用 但建
  • 在 pandas 中保存跳过行并读取 csv

    我有一个清单跳过行 说 1 5 10 gt 行号 当我将其传递给熊猫read csv 它会忽略这些行 但是 我需要将这些跳过的行保存在不同的文本文件中 我浏览了 pandas read csv 文档和其他几篇文章 但不知道如何将其保存到文本
  • 使用 Java URLConnection 进行 Cookie 管理

    我对 android 编程相当陌生 最近成功实现了 HTTP Post 请求 却发现我的 cookie 没有存储在后续的 Post Get 请求之间 我浏览了互联网 找到了一些 Android 的 Apache 客户端和 Java 的 Ht
  • Facebook Like 按钮,用于来自其自己的 ios 应用程序的应用程序的一个 Facebook 页面

    我正在寻找在我的 ios 本机应用程序中显示 Like 按钮 该应用程序的用户已经通过 Facebook 帐户连接到应用程序 stackoverflow 上有几个与 Facebook Like Button 相关的问题 但这些问题并不特定于
  • 可以在一页上使用相同的 schema.org 标记两次吗?

    在产品页面上 我在不同位置对一种产品有两个聚合评级 这意味着它们包含相同的信息 由于用户体验原因 我希望在该页面上出现两次 但我不确定是否可以每次都使用 schema org 标记它们 或者这是否是无用的重复 想知道是否有解决方案itemr
  • 如何在 Clojure 中获取参数名称?

    我想从函数内部获取函数外部定义的 var 的名称 该名称应该是我在原始定义范围内使用的名称 而不是我实际尝试使用该名称的任何嵌套绑定 所以我想做一些类似的事情 学术示例 defn f1 x1 println hello you passed
  • Tkinter按钮命令返回值?

    我在从 tkinter 返回变量时遇到问题Button命令 这是我的代码 class trip calculator def init self file self gui def gui self returned values def
  • Spring Boot Cloud Foundry 错误中没有独特的服务映射接口错误

    我正在尝试遵循本教程https github com cf platform eng spring boot cities tree master cities service在 Cloud Foundry 中运行我的 Spring Boo
  • 特征列预训练嵌入

    如何使用预训练嵌入tf feature column embedding column I used pre trained嵌入tf feature column embedding column 但这不起作用 错误是 错误是 ValueE
  • PIP如何确定多个依赖的依赖的版本

    假设我们在 Python 中有以下依赖树 PIP作为包安装程序 A 1 2 1 B 1 5 4 C D 1 3 0 C 我们还假设包的现有版本C分别是 0 0 8 1 0 2 据我们所知 PIP不会将同一包的不同版本安装到环境中 这意味着它
  • 无法使用 GraalVM 生成本机映像

    我试图使用 quarkus 和 GraalVM 创建一个自定义运行时 Lambda 并在此过程中 https quarkus io guides amazon lambda 我试图为 Gradle 应用程序构建一个本机映像 我在 Windo
  • 选择随机行,但一列中没有重复的值

    这是从单个表中进行的简单选择 目的是随机选择四种产品 从 x 个类别中的每个类别中选择一种 并有一些 位置 限制 我试过这个 SELECT pName pID from products WHERE pDisplay 1 AND pFeat