社区首页 >问答首页 >MySQL随机选择

MySQL随机选择
EN

Stack Overflow用户
提问于 2010-09-24 14:54:07
回答 4查看 651关注 0票数 1

我在数据库中有一个业务项目列表:

代码语言:javascript
代码运行次数:0
复制
listings
  `id` `location` `item` `status`

因此,在数据库中,我可能会有如下内容:

代码语言:javascript
代码运行次数:0
复制
19  Loc A   Green Beans for $12     active
20  Loc B   Two Gatoraids for $3    deactive
21  Loc A   Ham for $2 per lb       active
22  Loc A   Pepsi 2 for $2      active
23  Loc C   House plants $10    active
24  Loc B   Milk Gallon for $1     active
25  Loc C   Ice cream for $5    active

不,我想要做的是列出项目,但每个位置只有一个项目,如果有一个以上的项目,我想它有项目是随机的。加上仅显示状态为活动的项目。

现在,我的桌子是否设置为能够有效地执行此操作,或者我是否应该采用另一种方法?

EN

回答 4

Stack Overflow用户

发布于 2010-09-24 14:56:43

没有经过测试,但可能会有这样的效果:

代码语言:javascript
代码运行次数:0
复制
SELECT
  *
FROM
  `listings`
WHERE
  `status` = 'active'
GROUP BY
  `location`
ORDER BY
  RANDOM()
票数 1
EN

Stack Overflow用户

发布于 2010-09-24 14:58:10

The MySQL manual states

代码语言:javascript
代码运行次数:0
复制
you can retrieve rows in random order like this:
mysql> SELECT * FROM tbl_name ORDER BY RAND();

将其与WHERE子句相结合,只根据您想要包括的记录对其进行过滤,您就有了解决方案。

此外,如果您只有一个答案,那么在查询中使用LIMIT 1,它将选取第一个结果(由于排序顺序),它将是一个随机结果。

票数 1
EN

Stack Overflow用户

发布于 2010-09-24 16:08:33

编辑:这个答案完全被修改了--我设法在MySQL上正确地测试了它,并意识到在MS Access上测试SQL (无论如何都不是一个好主意)给了我完全不同的结果。

我认为你需要使用这样的东西:

代码语言:javascript
代码运行次数:0
复制
SELECT l.id, s.location, s.item
FROM listing AS l, 
          (SELECT location, item, status
           FROM listing
           WHERE status='active'
           ORDER BY RAND()) AS s
WHERE l.location=s.location
AND l.status = 'active'
GROUP BY location;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3788271

复制
相关文章
MySQL 中随机选择10条记录
数据量小于1000行的时候,上面的 sql 执行的快。但是当数据大于10000行, 排序的开销就变得很重。上面的操作中,我们在排序完就把几乎所有的行都丢掉了。
用户8099761
2023/05/11
2.7K0
随机森林随机选择特征的方法_随机森林步骤
摘要:当你读到这篇博客,如果你是大佬你可以选择跳过去,免得耽误时间,如果你和我一样刚刚入门算法调参不久,那么你肯定知道手动调参是多么的低效。那么现在我来整理一下近几日学习的笔记,和大家一起分享学习这个知识点。对于scikit-learn这个库我们应该都知道,可以从中导出随机森林分类器(RandomForestClassifier),当然也能导出其他分类器模块,在此不多赘述。在我们大致搭建好训练模型之后,我们需要确定RF分类器中的重要参数,从而可以得到具有最佳参数的最终模型。这次调参的内容主要分为三块:1.参数含义;2.网格搜索法内容;3.实战案例。
全栈程序员站长
2022/09/27
1.8K0
mysql随机查询
明者见危于无形,智者见祸于未萌。——《三国志》 我们如果需要使用mysql进行随机取N条这样的操作 我们可以这样写 -- 2.然后查询主表,与我们的tmp_table进行INNER JOIN[内连] SELECT * FROM `film` AS main_table JOIN -- 1.取出主表主键的最大值,与RAND()相乘[RAND()生成0到1的随机数],然后使用ROUND函数取整获得一个tmp_id (SELECT ROUND(RAND() * (SELECT MAX(`film_id`
阿超
2022/08/16
2.5K0
Sweet Snippet系列 之 随机选择
  平日工作学习时总会遇到一些令人欣喜的代码段子(Snippet),虽然都很短小,但是其间所含的道理都颇有意味,遂而觉得应该不时的将她们记下,一来算作复习整理,二来也给有兴趣的朋友做些参考,虽然题目说成了一个系列,但自己也不知道能写多少,大概准则估计也就是写到哪算哪了,今天算是第一篇,瞎扯扯随机选择 :)
用户2615200
2018/08/02
4970
按权重随机选择(leetcode 528)
给你一个下标从 0 开始的正整数数组 w ,其中 w[i] 代表第 i 个下标的权重。
恋喵大鲤鱼
2022/10/24
8940
mysql随机查询(二)
阿超
2023/06/23
1660
mysql随机查询(二)
Linux 随机启动 Mysql​
# 将服务文件拷贝到init.d下,并重命名为mysql cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 添加执行权限 chmod +x /etc/init.d/mysql 添加服务 chkconfig --add mysql 查看显示 chkconfig --list 如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入 chkconfig --level 345 mysql on 重启电脑 sh
用户1503405
2021/10/29
3.6K0
MySQL随机函数RAND
Extra中Using temporary表示使用临时表,Using filesort表示需要执行排序操作。
shysh95
2022/02/16
2.5K0
MySQL随机函数RAND
mysql随机排序 order by rand()
@Query("SELECT a from #{#entityName} a where a.isDeleted=0 and a.sourceType=1 order by rand()") fun findGankAll(pageable: Pageable): Page<Image> @Query("SELECT a from #{#entityName} a where a.sourceType=1 and a.isDeleted=0 and a.category like %:searchTex
一个会写诗的程序员
2018/08/17
2K0
创建角色随机名字(mysql抽取随机记录)和mysql游标的使用
1、现在创建游戏角色的时候,基本上都是支持角色名字随机的,以前此功能在客户端用代码实现,然后向服务器请求并验证,后来发现有时候连续几次都失败,所以改成在服务器实现。实现方法主要考虑使用mysql随机查询记录,在网上查了很多方案,然后用在了我们游戏中。
帘卷西风
2018/08/03
2.1K0
支持带权重的对象随机选择方法
在工作中会遇到有多个下游业务接口或者服务器(这里统称为[目标])需要选择性调用,而且还支持配置权重。
明明如月学长
2021/10/22
2K0
MySQL随机恢复的优化改进
关于随机恢复,最近做了一些改进和整理,发现有些细节的工作比想象中要复杂得多,原本我提出了成功率达到1个9,这个目标相对容易,但是要达到2个9就很难了,假设每天随机测试10次,那么连续10天只要失败1次,那么就到了2个9的边缘了。
jeanron100
2021/03/16
6420
MySQL日期类型选择
MySQL提供的常用日期类型有DATE,TIME,DATETIME,TIMESTAMP,
秋白
2019/02/21
3.1K0
MySQL索引选择规划
通过explain的执行结果我们可以看出,上面的SQL语句并没有走我们的索引a,而是直接使用了全表扫描。
shysh95
2022/02/16
1K0
MySQL索引选择规划
使用Numpy验证Google GRE的随机选择算法
最近在读《SRE Google运维解密》第20章提到数据中心内部服务器的负载均衡方法,文章对比了几种负载均衡的算法,其中随机选择算法,非常适合用 Numpy 模拟并且用 Matplotlib 画图,下面是我的代码:
大江小浪
2018/07/24
8510
使用Numpy验证Google GRE的随机选择算法
MySQL随机恢复的设计思路
如果没有恢复场景,备份就失去了业务价值,毕竟单纯靠业务价值一把尺子就衡量系统建设其实是不公平的,但是如果数据没有恢复成功,备份就失去了任何价值。
jeanron100
2020/11/10
7730
MySQL随机恢复的设计思路
​LeetCode刷题实战528:按权重随机选择
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2022/03/03
3240
MySQL 自定义函数_mysql随机时间函数
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/04
1.6K0
jmeter压测mysql产生随机参数
在对系统进行压测时有时要进行局部压测,比如对数据库的读写性能压测,使用过数据库以及搜索引擎的小伙伴相信对缓存这个东西一定不会陌生,如果我们在对数据库或者es之类的搜索引擎进行压测时一定要采用随机的参数,否则压测意义就不大了,因为从缓存返回数据跟从io读取数据后返回是两码事,这两种情况在性能上相差太大,当然是用一定固定值进行压测也不符合实际生产过程中使用场景,本文主要介绍一种使用jmeter压测mysql数据库时的一种随机参数生成方式,当然这也不符合实际应用场景,尤其是一些涉及多个关联查询的情况,如果一个查询查不到可能直接返回了,这样也不够真实,更真实一些的方式应该是将系统中已有的数据放在jmeter中进行压测,本文先简单介绍下jmeter随机参数压测mysql的方法:
johnhuster的分享
2022/03/28
1.4K0
jmeter压测mysql产生随机参数
MYSQL的随机查询的实现方法
SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1;
好派笔记
2021/11/01
1.3K0

相似问题

随机选择表mysql

328

MySQL选择随机整数

31

选择记录条件随机#MySQL

12

MYSQL随机选择每个类别

22

MySql随机类别限制选择

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文