【发布时间】:2014-07-29 11:39:54
【问题描述】:
这是桌子-
+----+---------+--------+
| id | letters | status |
+----+---------+--------+
| 1 | A | 0 |
| 2 | B | 1 |
| 3 | C | 0 |
| 4 | D | 0 |
| 5 | E | 1 |
| 6 | F | 1 |
| 7 | G | 0 |
| 8 | H | 0 |
+----+---------+--------+
它需要查找满足以下条件的记录-
- 选择带有
LIMIT 3的字母 -
ORDER是RAND() -
status true or false都需要呈现,但至少要呈现 带有status TRUE的字母,但不超过2
希望的结果可能是-
+---------+--------+
| letters | status |
+---------+--------+
| B | 1 |
| E | 1 |
| H | 0 |
+---------+--------+
+---------+--------+
| letters | status |
+---------+--------+
| C | 0 |
| E | 1 |
| H | 0 |
+---------+--------+
但不是-
+---------+--------+
| letters | status |
+---------+--------+
| C | 0 |
| G | 0 |
| H | 0 |
+---------+--------+
+---------+--------+
| letters | status |
+---------+--------+
| B | 1 |
| E | 1 |
| F | 1 |
+---------+--------+
请大家帮忙。
【问题讨论】:
-
请编辑您的问题。你的条件3不清楚。听起来您需要从状态为 TRUE 的行中选择三个随机选择的行。对吗?
-
至少是一封信的礼物是什么意思?这在英语中没有意义。
-
我编辑了我的问题.. 请任何人检查.. 我目前正在使用 PHP 执行此操作,但正在寻找一个简单的 mysql 解决方案,可以节省一些查询..
-
MySQL?那为什么这被标记为 PostgreSQL 和 MS-Access?
-
@ErwinBrandstetter 我认为这是一个与数据库相关的问题.. PostgreSQL 有什么解决方案吗?
标签: php mysql sql postgresql ms-access