如何从mysql数据库中回显随机id号而不重复编号?
这是我的示例代码:
$query = mysql_query("SELECT * FROM store");
$number=mysql_num_rows($query);
for ($count=1; $count<= $number ; $count++)
{
$id = mysql_query ("SELECT id FROM store ORDER BY RAND() LIMIT $number");
$id = mysql_fetch_assoc($id);
$id = $
如何从一个表中一次选择N个随机记录,而不会重复之前相同操作返回的记录?
一个显而易见的解决方案是:
SELECT TOP 5 * FROM
MyTable
WHERE Id NOT IN (SELECT Id FROM PreviouslyReturned)
ORDER BY newid()
但是,随着MyTable开始增长,这不是真的很低效吗?
我有一个很长的记录列表,对于一个基于回合的游戏,我一次需要五个记录,而不是重复已经为给定游戏拉出的任何记录。因为我知道大概会发生多少回合,所以我可以在游戏开始前随机选择一个明显大的样本,但我更希望它是“动态的”。我找到了,它使用带有MySQL的随机种
我正在寻找一种更好的方法来做到这一点:
SELECT * FROM $tbl_name WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM $tbl_name ) ORDER BY id LIMIT 1;
--它很慢,而且不是很随机,我每10个查询的.得到相同的结果。
这将从表中选择一个随机行,而不管其ID如何。
到目前为止我有这样的想法:
// Get amount of rows in database
$result = mysql_query("SELECT * FROM $tbl_name");
$num_rows
从mysql随机抽取1000行(而不是重复行)的最佳方法是什么?
Now i use this
1. get all data(id row) in to array.
2. Random position of array 1000 position.
3. i will get 1000 row (not duplicate row)
但是,这个过程很慢,
你有简单的方法得到随机的1000行(不是重复行)吗?
我有一个带有随机自动生成id (主键)的表。我正在尝试避免插入重复的行。 重复行的示例: id | field a | field b | field c |
1 4 6 7
2 4 6 7 密钥(id)不重复,因为它是用uuid生成的,但其他字段都是相同的。 我想我正在寻找这样的东西,但是是用BigQuery语言编写的:Avoiding inserting duplicate rows in mySQL
我正在开发一个网站,记录是不连续的,记录是随机显示的。我使用简单的mysql随机方法来显示随机记录,方法是使用有限制的rand(),将极限参数化,一个一个地获得下一个记录。
我使用的是asp.net mvc框架和mysql数据库。
下面是mysql查询。
select distinct
lw.Lawyer_id,
lw.name,
StateName,
ct.city,
Date_of_registration,
lawyer_views,
fl.practice
from
registration lw
left join
states st ON st.Id
我有一个单列MySQL数据库表ids (id整型主键AUTOINCREMENT),其中我按升序存储预生成的唯一id。为了从该表中获得一个随机id,我使用以下查询:
SELECT id FROM ids ORDER BY RAND() LIMIT 1;
现在,我想知道如何确保我得到的id不再被使用。我有两种选择。一个是从表中删除id,另一个是添加一个跟踪该id使用情况的列:
DELETE FROM ids WHERE id=?; //where id is the one I got from the previous query
或
SELECT id FROM ids WHERE used=
首先,我对MySQL非常陌生,我正在努力学习它。
我有一个在页面加载上运行的脚本,它检索辛迪加类型数据并将其添加到MySQL数据库表中。
我所要做的就是将找到的新数据添加到数据库表中,而不添加从以前的页面加载中找到的重复数据。
我的数据库表如下:
// Creates a Database Table only if the Table does not already exist
mysql_query("CREATE TABLE IF NOT EXISTS $TableName(
id INT NOT NULL AUTO_INCREMENT,
我试图随机设置一定数量的行,但假设数据库中只有4行,我需要获得6行随机行,我希望有可能(即使表中有6行以上)产生重复行。
这在mySQL中很容易实现吗?
我当前的查询如下:
SELECT * FROM winners ORDER BY RAND() LIMIT 6
这个想法是一个用户可以赢不止一次。:)
希望你能帮忙!!
我是一个新手PHP程序员。
我想在每次用户运行这个查询时存储一个会话,以便存储ID,这样该ID就不会出现在下一个查询中。
我将解释我的网站是做什么的:我有一个刷新页面并向用户提供消息的按钮。每次他们刷新页面时,这都是一条“随机”消息,我希望这样消息就不会重复。
下面是我的代码:
<?php
session_start();
include 'include/mysql_connect.php';
$var = $_SESSION['message'];
$query = "SELECT * FROM `generator` WHERE id
我在db中有一个歌曲名,在更新时,db中有更多的重复行。
例如:-
ID - 200 | TAGS - akon
ID - 201 | TAGS - akon
ID - 204 | TAGS - akon
我需要省略重复的数据或删除重复的行。
我正在检索数据使用
<?
$result = mysql_query("SELECT * FROM tags WHERE tag !='' ORDER by id DESC LIMIT 30");
while($row = mysql_fetch_array($result)) {
$title = s
我正在尝试选择mysql表中的重复行,这对我来说工作得很好,但问题是它不让我选择查询中的所有字段,而只是让我选择我用作不同字段的名称,让我编写查询以便更好地理解
mysql_query("SELECT DISTINCT ticket_id FROM temp_tickets ORDER BY ticket_id")
mysql_query("SELECT * , DISTINCT ticket_id FROM temp_tickets ORDER BY ticket_id")
第一个工作正常
现在,当我尝试选择所有字段时,最终都会出现错误
我正在尝试选择最新的
我有一个PHP文件,它从MySQL DB中查找随机id,但是当表足够大时,它会变慢。ID行有空白.
原创
$sql = "SELECT * FROM definiciones ORDER BY rand() LIMIT 1";
想法
$random = mt_rand(0, 10000);
$sql = "SELECT * FROM definiciones WHERE id = (SELECT max(id) FROM definitiones WHERE id < $random)";
我事先知道DB中行的确切数量。替换原来的查询是个好主意吗?
我如何避免重复返回数据的MYSQL与autosuggest与此代码?非常感谢你的帮助
<?php
include('conn.php');
$str = strtolower($_GET['content']);
if(strlen($str))
{
$sel = mysql_query("select * from Streams where title like '".trim($str)."%'");
if(mysql_num_rows($sel))
{
我已经建立了一个网络应用程序(PHP/MySQL),供人们预测足球比赛。
对于leagues表中的每个条目,matches表中有许多条目。
对于matches表中的每个条目,predictions表中有许多条目。
是否应该显式地将predictions表中的关系设置为leagues表?换句话说,我应该向league_id表中添加一个predictions列吗?
PRO
在某些情况下,查询更容易,需要读取的表更少。示例查询以查找某个人的预测,这些预测与关系有关:
SELECT * FROM predictions p
WHERE p.league_id:league_id AND