1
A
回答
1
最好用2个查询完成。首先返回field='x'
的记录。如果这是空的,那么用field!='x'
做一个随机记录查询。获取随机记录效率可能非常低,因为您会从SO上的“获取随机记录”问题的数量中看到。正因为如此,如果你绝对需要,你真的只想做。
0
只需要选择一个随机记录在mysql中的大表上就会非常困难,而且效率非常高,在website中你可以找到一个脚本来完成这个任务,为'x'添加条件应该是微不足道的,获得你需要的功能。
0
嗯,这里是基于mysql.users表我的例子:
首先,不存在的记录:
mysql> SELECT * FROM (select user, 1 as q from user where user like '%z' union all (select user, 0 from user limit 1)) b WHERE q=(SELECT CASE WHEN EXISTS(select user, 1 as q from user where user like '%z') THEN 1 ELSE 0 END);
+--------+---+
| user | q |
+--------+---+
| drupal | 0 |
+--------+---+
1 row in set (0.00 sec)
然后,现有:
mysql> SELECT * FROM (select user, 1 as q from user where user like '%t' union all (select user, 0 from user limit 1)) b WHERE q=(SELECT CASE WHEN EXISTS(select user, 1 as q from user where user like '%t') THEN 1 ELSE 0 END);
+------------------+---+
| user | q |
+------------------+---+
| root | 1 |
| root | 1 |
| debian-sys-maint | 1 |
| root | 1 |
+------------------+---+
4 rows in set (0.00 sec)
也许这将是有益的,或者也许有人能够以更好的方式重写它。
相关问题
- 1. MYSQL select语句条件
- 2. mysql select语句中的后备条件
- 3. Mysql select语句
- 4. SELECT语句 - 日期条件
- 5. MySQL的Select语句,其中 'IN' 条款
- 6. select语句where子句二的条件
- 7. C#,MySql Select语句
- 8. mysql的select语句
- 9. Select mySql的语句
- 10. SELECT语句JOIN语句在MySQL
- 11. mysql - 如果select语句中的语句
- 12. MySQL查询条件语句
- 13. MySQL条件选择语句?
- 14. MYSQL多个条件语句
- 15. mysql查询 - 条件语句?
- 16. PHP/MySQL的条件语句
- 17. MySQL的条件语句
- 18. 加入两条select语句?
- 19. 加入两条select语句
- 20. 转换PHP条件语句到MySQL的if-then条件语句
- 21. PDO参数SELECT语句循环条件
- 22. SQL插入进SELECT语句条件
- 23. SELECT语句中的条件子查询
- 24. 检查SELECT语句条件为真
- 25. 在SQL SELECT语句中给出条件
- 26. 如何在MySQL select语句中编写条件?
- 27. 如何实现。如果在mysql中select语句else条件
- 28. 解释MySQL的SELECT语句
- 29. MySQL的SELECT语句mc_decrypt
- 30. 与MYSQL SELECT IF语句和