mysql - 如何修复不一致的mysql结果?
问题描述
我的MySQL
查询
(SELECT * FROM names WHERE Rate = 75 ORDER BY RAND() LIMIT 1)
UNION
(SELECT * FROM names WHERE Rate = 75 ORDER BY RAND() LIMIT 1)
UNION
(SELECT * FROM names WHERE Rate = 35 ORDER BY RAND() LIMIT 1);
它应该给我这样的东西
+----+-----+------+
| id | Rate| num |
+----+-----+------+
| id | 75 | 987 |
| id | 75 | 987 |
| id | 35 | 987 |
+- --+-----+------+
但有时它只给我 2 行,像这样
+----+-----+------+
| id | Rate| num |
+----+-----+------+
| id | 75 | 987 |
| id | 35 | 987 |
+- --+-----+------+
解决方案
UNION
注意和之间的区别UNION ALL
- UNION 将删除重复的行
- UNION ALL 保留所有行
推荐阅读
- react-native - React Navigation V5 嵌套导航器有问题
- c# - .NET Core 3.0 默认路由到区域
- vba - 如何使用 VBA 运行 Outlook 的规则?
- flutter - 在水平 ListView 中,如何单独设置项目的高度?
- gcc - gcc编译器无限运行编译Hello World程序
- python - 分类神经网络不学习
- git - 如何压缩所有提交并与 master 合并并推送到 GitHub
- python-3.x - 以键为列的字典到 DataFrame
- powerbi - Power bi 中的 SUM 函数在 Visual(LINE AND STACKED COLUMN CHART)中显示错误的值,但在 CARD 中显示正确的值
- javascript - 带有 vueJS 问题的 Jsonwebtoken 库