我有一列有創建行時的時間戳。MySQL選擇創建日期的顯示編號
我需要找到一種方式來獲得全部來自同一個「日」的行,並給每行顯示數字顯示是這樣的:
+---------------------+
| order_date | // output should be:
+---------------------+
| 2016-05-11 13:01:41 | // 2016051101
| 2016-05-11 15:54:14 | // 2016051102
| 2016-05-11 17:16:18 | // 2016051103
| 2016-05-11 17:35:12 | // 2016051104
| 2016-05-11 17:55:16 | // 2016051105
| 2016-05-12 07:16:48 | // 2016051201
| 2016-05-12 09:30:57 | // 2016051202
| 2016-05-12 09:56:19 | // 2016051203
| 2016-05-13 11:27:21 | // 2016051301
| 2016-05-14 10:15:56 | // 2016051401
| 2016-05-15 11:35:07 | // 2016051501
| 2016-05-15 11:39:48 | // 2016051502
| 2016-05-15 11:40:12 | // 2016051503
+---------------------+
的Mysql能做到這一點?或者應該像php一樣處理這個問題?
最終的查詢使用:
SELECT t.order_date,
concat(
DATE_FORMAT(t.order_date, '%Y%m%d'),
LPAD(
(SELECT COUNT(*) FROM hz_order s WHERE s.order_date<= t.order_date AND DATE(s.order_date) = DATE(t.order_date)),
2,
0))display
FROM hz_order t
ORDER BY `display` ASC
是的。或者是。 :-) – Strawberry
我有點不確定是否希望選擇查詢也能生成並插入訂單號,或訂單號是否全部就緒。 – Epodax
沒有插入需要,訂單有它的id,但具有日計數的訂單號僅用於顯示。 –