ผมเชื่อครับว่าไม่ได้ เพราะ field date คุณเก็บ type ไม่ถูก จะ order ให้ตาย ก็ไม่ได้ตามต้องการน่ะครับ หรือได้ ก็ไม่ถูกต้อง 100%
ข้อคิดง่ายๆ สำหรับคนพัฒนาระบบ
-เก็บข้อมูลอะไร ใช้ type ให้ถูกตั้งแต่แรก แล้วอะไรๆจะง่ายครับ
-เก็บ date ใช้ type date, เก็บ string, char ใช้ type varchar ก็ได้
-เก็บตัวเลข ใช้ type int เก็บจำนวนนับ(จำนวนเงิน ราคา) .ใช้ type decimal, float, double ตามต้องการ
ถ้าเก็บไม่ถูก type ปัญหาจะตามมาเรื่อยๆ ยกตัวอย่าง กระทู้นี้ เป็นต้น ครับ
select type, order_sq, max(c_date) mcd from TableA where type=1 group by order_sq limit 5
อันนี้จะได้แค่ type, order_sq, mcd
แต่ถ้าอยากได้ ทุกฟีลด์
Code (SQL)
select B.*
from (select type, order_sq, max(c_date) mcd from TableA where type=1 group by order_sq limit 5) as A
left join TableA as B on B.c_date=A.mcd
ไม่ได้เป็นเซียนครับ แค่พอมีประสบการณ์อยู๋บ้าง
ปล. ผมไม่ได้คำนึงถึงรูปแบบวันที่นะครับ อันนี้ผู้สร้างต้องไปทำให้ถูกต้องเอง
ผมมองว่าเมื่อเป็น type date คุณจะนำเสนอรูปแบบไหนก็ตาม แต่ใน field มันเป็น type date มาตราฐานครับ