mysql - 连接说明 - SQL 语法
问题描述
我正在处理我必须在其中使用 SQL 的项目。我遇到了一个问题,因为我没有从我使用的查询中得到预期的结果。我仍在学习我在 SQL 方面的经验,所以这里的任何帮助都会非常有帮助。问题叙述如下:
使用的查询:
select count(distinct del_table.user_id) as distinct_user_id,
count(1) as row_counts
from user_names del_table join
userids req
on req.user_id = del_table.user_id;
桌子user_name
桌子userids
从上面的查询,我期待结果如下
但我越来越像下面
基本上,row_counts
加倍了,不知道为什么。有人可以帮我指出我所犯的错误并帮助纠正我的查询以达到我的预期结果吗?
谢谢。
解决方案
评论太长了。
对于您提供的数据,您应该得到您期望的结果。换句话说,你的理解是正确的。
要调试此问题,请计算每个表中的行数。在这种情况下,您知道这12345
是唯一的匹配项,因此我们可以将计数限制为:
select count(*)
from user_names
where user_id = 12345
select count(*)
from userids
where user_id = 12345;
我猜这些会返回1
/6
或2
/ 3
。换句话说,这些表不包含您认为它们包含的内容。
推荐阅读
- java - 无法录制声音时,我的应用程序变得无响应
- scala - Actor系统默认分配了多少线程?
- javascript - 节点调度触发问题
- sql - 什么是透视这些数据的好方法?
- php - PHP $-SESSION 变量在新页面上消失并返回空
- ubuntu - /usr/bin/ld: 找不到 -lvtkGUISupportQt
- c# - 打开文件时在 NPOI 中抛出异常,但仅在发布模式下
- php - 使用 WC Vendors Pro 插件从 Woocommerce 更改 CSV 导出数据
- python - 如何使用python从csv文件创建饼图
- jquery - 分离和附加的文本区域丢失鼠标事件