mysql - MySQL如何从数据库顺序中随机获取数据
问题描述
请我尝试以随机顺序从 MySQL 数据库中获取数据,但它似乎返回重复的结果。
有没有一种方法可以让我在遵循 id 的同时以随机顺序获取数据并且不会得到重复的结果。
例如,我有一个数据库表 users,里面有 4 个唯一用户。
用户1
用户2
用户3
用户4
然后我尝试这个查询
SELECT username from users ORDER BY RAND() LIMIT 3
我倾向于接收 User1, User2 User1
而我希望得到 User2、User1、User3 作为结果。
无论如何我可以做到这一点吗?
我相信你明白,我希望这不是题外话,我感谢我能得到的任何回应。
谢谢。
解决方案
您可以尝试 DISTINCT 关键字 -
SELECT DISTINCT username
FROM users
ORDER BY RAND()
LIMIT 3
推荐阅读
- azure-cosmosdb - CosmosDB Mongo API 复合唯一索引是否要求每个字段都是唯一的?
- mysql - 试图将 SQL Server 转换为 MySql 以供上课
- node.js - 在 PM2 的集群模式下运行我的 Puppeteer 应用程序并没有利用多个进程
- azure - 无法在 Azure 中使用 CosmosDB Binding 作为 SpringBoot App 运行时间触发函数
- python - 选择一些行作为一个组,然后在 txt 文件中的同一组中为每一行赋予相同的标签
- postgresql - postgres_fdw 每天刷新 500 万行是否可靠?
- symfony - Symfony 3.4 entity property with array of items from another entity
- php - 如何在 PHP 中进行 api 调用
- r - 我需要帮助为主题建模整理数据
- c# - 数组作为字典键会产生很多冲突