2016-09-18 66 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

這正是我想要的。我會嘗試你之前建議的那個。對不起,如果我沒有任何意義,反正謝謝你的迴應。 –

相關問題