Mysql 输出记录,无重复
我有一个这样的表,我想输出没有重复的相同用户。如果使用Mysql 输出记录,无重复,mysql,database-design,Mysql,Database Design,我有一个这样的表,我想输出没有重复的相同用户。如果使用groupby,则在同一列上只显示一条记录。iam还对位置和用户名使用左连接。一点帮助 +------+---------+----------+---------+ | user | work id | location | time | +------+---------+----------+---------+ | 1 | 42 | 1 | 2hr | | 1 | 42 |
groupby
,则在同一列上只显示一条记录。iam还对位置
和用户名
使用左连接。一点帮助
+------+---------+----------+---------+
| user | work id | location | time |
+------+---------+----------+---------+
| 1 | 42 | 1 | 2hr |
| 1 | 42 | 1 | 10min |
| 1 | 42 | 1 | 30min |
| 2 | 42 | 1 | 4hr |
| 2 | 42 | 1 | 2.30min |
| 1 | 50 | 2 | 4min |
| 1 | 50 | 2 | 5min |
| 2 | 20 | 3 | 3hr |
| 1 | 20 | 3 | 6hr |
+------+---------+----------+---------+
我在找这个
+------+---------+----------+
| user | work id | location |
+------+---------+----------+
| 1 | 42 | 1 |
| 1 | 50 | 2 |
| 1 | 20 | 3 |
| 2 | 42 | 1 |
| 2 | 20 | 3 |
+------+---------+----------+
您只需要在此处使用一个不同的子句-
SELECT DISTINCT user
,workid
,location
FROM YOUR_TABLE
ORDER BY user
,location
您只需要在此处使用一个不同的子句-
SELECT DISTINCT user
,workid
,location
FROM YOUR_TABLE
ORDER BY user
,location
我认为
group by work\u id
应该可以。您是否尝试了DISTINCT
关键字以获取唯一数据?我刚刚做了选择DISTINCT user、workid、location from so order by 1
,结果是您想要的输出,我知道我没有连接两个表。但这应该是前进的方向。希望能有帮助!!看起来work\u id
和location
是1:1。如果是这样的话,为什么两列都有呢?下面有很多不同的数字。我只是简化了这里的表。我认为按工作分组\u id
应该可以。您是否尝试了DISTINCT
关键字以获取唯一数据?我只是选择了DISTINCT user、workid、location from so order by 1
,结果是您所需的输出,我知道我没有将两个表连接起来。但这应该是前进的方向。希望能有帮助!!看起来work\u id
和location
是1:1。如果是这样的话,为什么两列都有呢?下面有很多不同的数字。我只是简化了这里的表。distinct
删除重复记录。因此,在我的表中,它将删除重复的用户,并只保留一个,因为我们告诉查询查看另一个表以进行查询comprision@Dexter,我不同意。Distinct子句在查询执行的最后起作用。执行查询并获取整个记录后,distinct子句将从结果集中删除重复记录。@Dexter,选择所有唯一的{col1,col2,col3}与我前面所说的意思相同。distinct
删除重复记录。因此,在我的表中,它将删除重复的用户,并只保留一个,因为我们告诉查询查看另一个表以进行查询comprision@Dexter,我不同意。Distinct子句在查询执行的最后起作用。执行查询并获取整个记录后,distinct子句将从结果集中删除重复的记录。@Dexter,选择all unique{col1,col2,col3}的意思与我前面说过的相同。