![](/img/trans.png)
[英]Convert java.util.Date in YYYY-MM-DD HH:MM:SS format to compatible with MySQL DATETIME
[英]Selecting a distinct date by day only from datetime (YYYY-MM-DD HH:MM:SS) in MySQL
執行這個命令給我帶來了以下內容(所有列的所有日期,所以它本質上與 SELECT date 沒有區別)做了同樣的事情:
SELECT DISTINCT date FROM daily ORDER BY date DESC
2013-02-12 16:40:52
2013-02-06 11:48:49
2013-02-06 11:36:41
2013-02-06 11:35:59
2013-02-04 19:38:12
2013-02-04 18:12:30
2013-02-04 09:58:41
2013-02-04 09:43:01
2013-02-04 09:35:51
2013-02-04 09:30:22
2013-02-04 09:24:57
2013-02-04 09:21:09
2013-02-04 08:50:13
我需要的:
2013-02-12
2013-02-06
2013-02-04
有什么方法可以更改我的日期表並將其轉換為 YYYY-MM-DD 嗎?
如果沒有,有沒有辦法僅根據當天選擇不同的日期?
mysql> select DATE_FORMAT(Current_Timestamp, '%c %d %Y') from dual;
+--------------------------------------------+
| DATE_FORMAT(Current_Timestamp, '%c %d %Y') |
+--------------------------------------------+
| 2 12 2013 |
+--------------------------------------------+
1 row in set (0.01 sec)
mysql>
當然,您將使用“每日”表。
mysql> select DATE_FORMAT(Date, '%c %d %Y') from daily;
或者你想要
mysql> select * from daily group by DATE_FORMAT(Date, '%c %d %Y');
試試這個:
SELECT DISTINCT(CONVERT(VARCHAR, CONVERT(DATETIME,[DATE]),23)) AS DT
FROM DAILY
ORDER BY DT ASC
我發現在大於 N 百萬的大型數據集上,按 DATE_FORMAT 分組可能比使用慢 10-20%;
GROUP BY someid,year(date),month(date),day(date)
所以我剛剛在 sgeddes 答案中添加了一小部分,這對我來說很接近,但我不得不作為:AS date_change 以便我可以列出這些值。
$sql = "SELECT DISTINCT DATE_FORMAT(yourdate, '%Y-%m-%d') as date_change FROM
daily ORDER BY (yourdate) DESC LIMIT 10";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$test = $row['date_change'];
echo $test.'<br>';
}
} else {
echo "0 results";
}
它非常簡單地使用 DATE() 函數。
例子:
SELECT DISTINCT DATE(date)
FROM daily
ORDER BY date
DESC
在訪問數據庫中
SELECT DISTINCT Format(date, 'Short Date')
FROM daily
ORDER BY Format(date, 'Short Date') DESC;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.