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. Mysql select語句
- 5. MYSQL SELECT語句
- 6. 條件在select語句
- 7. mysql條件語句?
- 8. MySQL的Select語句,其中 'IN' 條款
- 9. select語句where子句二的條件
- 10. Select mySql的語句
- 11. C#,MySql Select語句
- 12. mysql的select語句
- 13. mysql語句中的count語句select
- 14. MySQL:從SELECT語句到INSERT語句
- 15. mysql - 如果select語句中的語句
- 16. SELECT語句JOIN語句在MySQL
- 17. MySQL中的條件語句
- 18. 條件JOIN語句在MySQL
- 19. mysql查詢 - 條件語句?
- 20. MYSQL多個條件語句
- 21. PHP/MySQL的條件語句
- 22. MySQL的條件語句
- 23. MySQL條件選擇語句?
- 24. MySQL查詢條件語句
- 25. 加入兩條select語句?
- 26. 執行多條select語句
- 27. 加入兩條select語句
- 28. 轉換PHP條件語句到MySQL的if-then條件語句
- 29. 在SQL SELECT語句中給出條件
- 30. SQL插入進SELECT語句條件