gpt4 book ai didi

PHP MySQL选择其中一行不同的随机行

转载 作者:行者123 更新时间:2023-11-29 02:20:34 25 4
gpt4 key购买 nike

我想要实现的是随机选择多行,例如某列与最后一列不同

SELECT * FROM mytable WHERE `column_for_duplicate_values` != '$thelastkey' ORDER BY RAND() LIMIT 10

例如,多个值的列将包含:

1 , 1 , 1 , 1 , 2, 5 , 6, 6 , 6 , 6 , 6 , 11 , 11 ,  11 , 19

我想从每个中选择 1 个。所以我会得到

1 , 2 , 5 , 6 , 11 , 19

最佳答案

我的解决方案的主要问题可能是

  1. 不适用

    您需要在您的mytable 中有一个主要的唯一 ID

      SELECT * FROM mytable WHERE id IN (
    SELECT id FROM (
    SELECT id, column_for_duplicate_values
    FROM mytable ORDER BY RAND()) AS rand
    GROUP BY column_for_duplicate_values
    ORDER BY RAND()) LIMIT 10;

主要概念是首先获取所有值的随机列表及其 ID 和您希望具有唯一值的列。

根据这个结果,我们根据我们只想拥有一次的值进行分组,并且只返回 id。然后主表将从该列表中选择 10 个随机 ID。

我用我的一个数据库试过了。应该适用于任何具有唯一 ID 和一些随机其他列的表。

如果您附加 ORDER BY id ASC 也会对 id 进行排序。

关于PHP MySQL选择其中一行不同的随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32590671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com