【问题标题】:MYSQL Select 5 records from one table based on several different values from anotherMYSQL 根据来自另一个表的几个不同值从一个表中选择 5 条记录
【发布时间】:2010-09-25 03:52:35
【问题描述】:

我对 MYSQL 一点也不流利。我想要做的是我有一个表,其中包含具有唯一 ID 号的画廊列表。我有另一个表 ImageData,其中包含与第一个表中的每个 GalleryID 相关的图像可能多达 1000 个。我想做一个从每个 GalleryID 中获取 5 条随机记录的选择。我正在尝试在不执行循环和多次访问数据库的情况下执行此操作。

表格如下 画廊 -> GalleryID -> 画廊名称

ImageData -> ImageID -> 图像名称 -> GalleryID

我希望这是有道理的。

【问题讨论】:

  • 您的 ID 是什么数据类型,如果它们是数字,它们是否类似于身份/序列?

标签: sql mysql greatest-n-per-group ranking


【解决方案1】:

嗨,兰迪,欢迎来到俱乐部。这是针对您的方案的简单快速的解决方案。享受

select g.GalleryName, i.imageName from Galleries g, imageData i, (SELECT gl.Galleryid from Galleries gl ORDER BY RAND() LIMIT 5) m where m.galleryID = i.galleryID

【讨论】:

  • 那不行——子选择只能返回一行数据;你试图放五个以上。
猜你喜欢
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多