我想从结果集中随机获取 50%。我尝试过的接近的:
SELECT * FROM Customers
WHERE RAND() < 0.5;
但这给了我少于或多于 50% 的结果集。换句话说,这并不稳定。
第二次尝试如下:
SELECT * FROM Customers
ORDER BY RAND()
LIMIT (SELECT COUNT(*) / 2 FROM Customers);
但我有一个错误:你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 3 行的“(SELECT COUNT(*) / 2 FROM Customers)”附近使用的正确语法。
您可以在这里测试:https://www.w3schools.com/MySQL/trymysql.asp ?filename=trysql_select_all
预期结果应该是随机排序,然后选择结果集中的 50%。