仅从内部联接表中选择重复项

时间:2017-02-13 04:54:11

标签: mysql sql duplicates inner-join

所以我对sql很新,需要一些帮助。我有一个3个表的内部连接代码:

{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<link href="{% static 'css/hover.css' %}" rel="stylesheet" media="all">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" media="all">

<!-- CSS -->    
<style>

.menu {
font-family: sans-serif;
background: blue;
padding: 5px;
width: 130px;
z-index: 100;
bottom: 200px;
right: 700px;
box-shadow: 5px 5px 5px;
border-radius:5px 5px 5px 5px;
margin-bottom: 160px;
position: relative;left:700px;top:250px;

}

.menu a, 
.menu h3 {
font-size: 0.9em;
display: block;
margin: 0 0.5em;
color: white;
}

input {
    width: 120px;
}

</style>
</head>
<body>


<!-- HTML -->
<main>

<nav class="menu">
<div id='wrapper'>
<h3>Login</h3>

<form method='POST' class= "post-form"> {{ form.as_p }} </form>

<a href="#" class="hvr-grow">Create Account</a>
</div>

</nav>

</main>

</body>
</html>

从这段代码中创建一个巨型表,这很棒。但是现在我想只选择6列的重复条目,activity_name,activity_time,user_id,email,first_name和姓氏。我想通过activity_time对这些进行分组。

这些特定列如下所示:

min-width

我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用COUNT,GROUP,HAVING组合来过滤重复的行。

SELECT  activity_name, activity_time, user_id, email, first_name, last name, COUNT(*)
FROM Activity 
INNER JOIN UserActivity on UserActivity.activity_id = Activity.activity_id 
INNER JOIN User on UserActivity.user_id = User.user_id 
GROUP BY activity_name, activity_time, user_id, email, first_name, last name
HAVING COUNT(*)>1