我有一个具有多行的mysql表,它有列: column1、column2和不同的值。我想为每一行做这样的事情:
$sql = "UPDATE table SET column2 = rand(0,(column1/3000))";
这是可能的,还是有其他方法可以做到?泰!
编辑。即使列1/3000是否用括号括起来,它也给出了错误:
Error: UPDATE table SET column2 = rand(0,(column1/3000))
Incorrect parameter count in the call to native function 'ran
我有一个已存在的表product,并希望添加一个新的计算列test,其中的公式是SUBSTRING(MD5(RAND()) FROM 1 FOR 16) 所以查询是这样的: alter table product add test varchar(255) as (SUBSTRING(MD5(RAND()) FROM 1 FOR 16)); 但它返回给我的错误是 Error Code: 3763. Expression of generated column 'test' contains a disallowed function: rand. 有人知道为什么和如何修复它吗
我正在看我的数据库编程书(它使用MySql)中的一个示例,该示例介绍了如何从表中随机选择一行:
SELECT * FROM Bugs ORDER BY RAND() LIMIT 1;
我对如何按不存在的列排序感到困惑。是不是等同于
SELECT *, RAND() AS temp FROM BUGS ORDER BY temp LIMIT 1;
除了从结果中消除temp列?
我正在尝试将我的表A的一部分复制到表B:
@t1 := 1
INSERT INTO B
SELECT x, y, (@t1:=@t1+1)
FROM A
WHERE z=1
ORDER BY rand()
LIMIT 10
我想要的是在表B(第三列)中获得从1到10的值,但它生成的值像12、124、45等……我想知道它是不是先处理变量,然后再执行order by rand(),因为值永远不会超过表A中的行数。
有没有其他方法可以从A到B随机获取10行,并将它们标记在第三列(排序列)中,从1到10?在一条mysql语句中,我知道如何使用10个插入;-)
我有一个mysql表mysql_table。类别id有一个列Cid。我已经在那张表上上传了很多数据。
In first row, i upload ~1~2~3~ in Cid
In second row, i upload ~3~5~ in Cid
In third row , I upload ~1~ in Cid
现在,我希望在不影响现有数据的情况下更新表mysql_table的列Cid。我想用15~更新每个Cid列。所以我需要最后的理由
first row , ~1~2~3~15~
second row, ~3~5~15~
third row, ~1~15~
如何使用mysql更新查询
我从一个表中随机生成了一个怪物团队,限制为6。现在,我还想将团队插入到包含字段m1、m2、m3、m4、m5、m6的user_team中
现在,当我尝试将生成的怪物插入到团队中时,似乎只有最后一个怪物在插入,而我所有的怪物都要插入。
$sql = "SELECT * from monsterdata ORDER BY RAND() LIMIT 6";
$result = mysql_query($sql);
// this checks if you have a result
if ($result == null) echo "No result";
els
我读到过在大型数据库上使用ORDER BY RAND()运行SQL查询不是一个好主意。
所以这是我破解代码的办法。代码需要从数据库中选择10个随机ids,然后执行第二次select来获取随机行。
$sql = "SELECT id FROM table WHERE image != ''
ORDER BY id DESC LIMIT 50;";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
foreach($row as $key =&
我在mysql中有联合表,但我需要获取名称表来显示我的数据。下面是mysql代码
$blog = mysql_query("SELECT gambar FROM life
UNION ALL
SELECT gambar FROM places
UNION ALL
SELECT gambar FROM style
UNION ALL
SELECT gambar FROM art
order by RAND() ");
然后在php中他们显示,但我有问题的图像,因为图像在不同的文件夹中的表名在这里我的php代码
$tes = mysql_query("SELECT ga
是否可以在mySql中使用if/then语句?我希望检查连接表中某一列的值,并根据该列的值对结果进行排序。
我很抱歉的尝试:
SELECT t1.*
FROM t1
JOIN t2 ON t1.ID = t2.ID
WHERE t1.ID = '888'
if(t2.col1 = '1') ORDER BY t1.tid ASC
else ORDER BY RAND()
我使用以下代码(假设我已经计划在以后将其更改为mysqli,并且知道所使用查询的不安全性),从MySQL表中某一列的行中提取文本字符串,理想情况下,浏览器中的输出应该是从该列中随机选择的字符串:
mysql_connect($host,$username,$password);
mysql_select_db($database) or die(mysql_error ());
$query="SELECT * FROM `tablename` ORDER BY RAND() LIMIT 0,1;";
$result=mysql_query($query);
$rows
我创建了具有缺省值'1‘的列的表
create table int_1 (
id int not null auto_increment,
value int default 1,
primary key (id)
);
命令
insert into int_1 values(1, null) on duplicate key update value = null;
始终返回结果
1 row(s) affected
但在第一次执行后,记录确实发生了变化(插入)。但如果我使用默认值'0‘创建表,则所有操作都按预期进行:
create table int_0 (
我一直在研究和测试如何在MySQL中进行快速随机选择。在这个过程中,我遇到了一些意想不到的结果,现在我不能完全确定ORDER BY RAND()到底是如何工作的。
我一直认为,当您在表上执行ORDER BY RAND()时,MySQL会向表中添加一个填充了随机值的新列,然后它会按该列对数据进行排序,然后您可以随机获取上面的值。我做了很多谷歌搜索和测试,最后发现查询确实是最快的解决方案:
SELECT * FROM Table T JOIN (SELECT CEIL(MAX(ID)*RAND()) AS ID FROM Table) AS x ON T.ID >= x.ID LIMIT 1
我的任务是从名为food的mysql表中获取两行数据。
现在,我有一个包含所有食物的碳足迹的carbon_footprint专栏。我现在必须从mysql表中随机选择两行,但有一个条件。
这两个值的碳足迹百分比差应大于等于70%。
我现在能做的最好的事情是:
Select a.* from foods a CROSS JOIN foods b on ((a.co2 - b.co2)/b.co2) >= 0.7 ORDER BY RAND() LIMIT 2
但不知何故,我没有得到正确的答案。我知道我错过了一些非常愚蠢的东西。
请帮帮我!
我在工作表的单元格范围中有一个公式,它的计算结果是数值。如何在VBA中从传递给函数的范围中获取数值?
假设工作表中A列的前10行包含rand(),我将其作为参数传递给我的函数……
public Function X(data as Range) as double
for c in data.Cells
c.Value 'This is always Empty
c.Value2 'This is always Empty
c.Formula 'This contains RAND()
nex
我在MySQL上遇到了一个有趣的问题。当我试图用某个大整数乘以RAND()函数时,我得到了非常小的最大随机数。下面是我的MySQL查询,这应该是一个非常快速的随机查询,但是它返回IDs 36000,即使有4600000+ ID。
SET @maxID=(SELECT MAX(id) FROM property); #it's about 4600000
SELECT * FROM property
WHERE
downloaded_at IS NULL
AND id >= FLOOR(1 + RAND() * @maxID) #this returns max +/-3600