Py学习  »  DATABASE

MySQL选择10个随机记录,其中至少有一个记录字段具有一定的值

Erik09 • 5 年前 • 1236 次点击  

我试图从一个表中选择3个随机记录,前提是结果至少应包括一个值“数字”大于3的记录。

实例表:

+--------+-------+--------+
| ID     | name  | number |
+--------+-------+--------+
| 1      | name1 | 5      |
+--------+-------+--------+
| 2      | name2 | 0      |
+--------+-------+--------+
| 3      | name3 | 2      |
+--------+-------+--------+
| 4      | name4 | 7      |
+--------+-------+--------+
| 5      | name5 | 9      |
+--------+-------+--------+
| 6      | name6 | 1      |
+--------+-------+--------+
| etc... |       |        |
+--------+-------+--------+

因此,结果可能是ID为1、2和6的记录。或1,4和9。但不是2、3和6,因为该结果不包括至少一个“数字”为3的记录。

我尝试过此操作,但它无法返回始终至少包含一个值为>3的记录的结果:

SELECT name, number  FROM   table
WHERE  EXISTS (
   SELECT number FROM table
   WHERE  number > 3
   ) 
ORDER BY RAND()
LIMIT 3

我想我走错了。任何帮助都将不胜感激!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31140
 
1236 次点击  
文章 [ 1 ]  |  最新文章 5 年前