2016-09-18 25 views
0

我想输出用户登录的最早时间/日期,但我希望每天都有。我现在可以输出用户已登录的最早时间/日期,但不是每天。此查询只能通过向我显示用户已登录的最早日期/时间起作用,它不会考虑日期,只会输出用户已登录的最早时间/日期。对不起,英语不好。我希望有一个人可以帮助我。非常感谢!有没有办法输出用户每天登录的最早时间/日期?

顺便说一句,这里的代码:

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "september-system"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT DISTINCT User_ID, MIN(Time) FROM records GROUP BY User_ID ORDER BY User_ID, MIN(Time) DESC"; 
$result = $conn->query($sql); 

if (mysqli_num_rows($result) > 0){ 
echo "<table><tr><th>User ID</th><th>Date/Time</th></tr>"; 
// output data of each row 
while($row = $result->fetch_assoc()) { 
    echo "<tr><td>" . $row["User_ID"]. "</td><td>" . $row["MIN(Time)"]. " </td></tr>"; 
} 
echo "</table>"; 
} else { 
echo "0 results"; 
} 

$conn->close(); 

回答

2

刚组由用户和日期都:

SELECT User_ID, DATE(Time) as theday, MIN(Time) 
FROM records 
GROUP BY User_ID, DATE(Time) 
ORDER BY User_ID, MIN(Time) DESC; 

注意SELECT DISTINCT几乎与GROUP BY从来没有合适的。如果您正在学习SQL,那么只需使用GROUP BY,并且不要打扰SELECT DISTINCT,直到您更熟悉该语言。

+0

我认为我需要使用'SELECT DISTINCT'来为每个用户输出一个最早的日期/时间(?)我很抱歉,我是PHP和MySQL的新手 –

+0

@JopethDeza。 。 。你的问题措辞的方式,这表明你想每个用户在每一天的最早时间。如果你有不同的问题,那么问一个*另一个问题,以及样本数据和期望的结果。 –

+0

这正是我想要的。我会尝试你之前建议的那个。对不起,如果我没有任何意义,反正谢谢你的回应。 –

相关问题