Query last record in SQL ยังไงครับ โดยอ้างอิงที่เวลาครับ ช่วยหน่อยครับ
อธิบายเพิ่มเติมนิดครับ
Date :
2014-08-30 08:46:15
By :
mr.win
คือมี station ที่ซ้ำกันมากกว่าหนึ่ง station แต่ต้องการข้อมูลที่ Scandate ล่าสุด โดย GROUP BY station ครับ
ข้อมูลที่ต้องการครับ
V
V
ประวัติการแก้ไข 2014-08-30 08:53:00 2014-08-30 09:01:38 2014-08-30 09:01:58
Date :
2014-08-30 08:51:19
By :
taung2525
select col1,col2,max(scandate) from xxxx group by col1,col2
ประวัติการแก้ไข 2014-08-30 10:10:15
Date :
2014-08-30 10:09:01
By :
gaowteen
ไม่ได้ครับยังมี station 1147 สองตัวครับมันต้องมีแค่ตัวเดียวครับ
Date :
2014-08-30 10:21:58
By :
taung2525
มันมีตัวเดียวไม่ได้ ครับ เพราะ pn มัน ไม่เหมือนกัน เพราะ เรา group by pn ด้วย
Date :
2014-08-30 10:35:54
By :
gaowteen
ท่านไหนทำได้ช่วยหน่อยครับ
Date :
2014-08-30 10:37:50
By :
taung2525
select * from
(select col_ID,max(scandate) as scandate from table1 group by col_ID) a
inner join table1 b on a.col_ID = b.col_ID and a.scandate = b.scandate
แก้ไขชื่อ table ให้แล้วเป็น table เดียวกันนนะ ลองดู ครับ
ประวัติการแก้ไข 2014-08-30 10:51:03 2014-08-30 11:01:15 2014-08-30 11:01:18 2014-08-30 11:04:14
Date :
2014-08-30 10:50:45
By :
gaowteen
ไม่ได้ครับ
Date :
2014-08-30 11:12:23
By :
taung2525
ขอดู query ทั้งหมดหน่่อย ครับ
Date :
2014-08-30 11:26:05
By :
gaowteen
ได้แล้วครับ Thank you ครับ
strSQL = "select * from (select station,max(scandate) as scandate from tbl_prodscan WHERE ProdOrder ='" & Me.txtWO.Text & "' group by station) a inner join tbl_prodscan b on a.station = b.station and a.scandate = b.scandate "
อธิบายให้หน่อยครับมือใหม่ครับ
Date :
2014-08-30 11:56:42
By :
taung2525
อันนี้ ผมคิดเอาเองนะ ไม่รู้คนอื่นเขาทำแบบนี้ป่าว
select *
from (
-- อันนี้เหมือนกับสร้าง table ใหม่ ที่มี แต่ station,กับ scandate ล่าสุด เพื่อ สร้างเป็น ไฟร์มารี่ คีย์
select station,max(scandate) as scandate
from tbl_prodscan group by station) a
-- พอได้ ไฟร์มารี่ คีย์ มาแล้วถึงเอามา inner join กับข้อมูลที่จะเอา มันก็จะคัดแต่เฉพราะ เวลาล่าสุด ของ station นั้นๆมา
inner join tbl_prodscan b on a.station = b.station and a.scandate = b.scandate
ผมก็อยาากรู้วิธีที่คนอื่นทำเหมือนกันว่าาเขาทำยังไง
ประวัติการแก้ไข 2014-08-30 12:17:14
Date :
2014-08-30 12:16:40
By :
gaowteen
Code (SQL)
SELECT TOP(1) * FROM ตาราง ORDER BY ScanDate DESC;
Date :
2014-09-12 10:37:35
By :
wad
Code (SQL)
select a.*
from
tbl_prodscan a
join
(
select Station, MAX(ScanDate) as LastScanDate
from tbl_prodscan
group by Station
) b on a.Station = b.Station and a.ScanDate = b.LastScanDate
order by a.Station
แค่นี้ก็พอมั้งครับ
Date :
2014-09-12 15:55:42
By :
gunnermontana
ก็ select Max(sacdate) มาแล้วมันก็ได้แค่อันสุดท้ายอะนะ
หรือ select มาหมดนั่นแหละ และ order by sacandate desc แล้วเอามาใช้แค่แถวแรก
Date :
2014-09-13 12:49:47
By :
zarooman
มีมะม่วง 10 ลูก อยู่ในตระกร้าใบเดียวกัน หยิบมากินลูกหนึ่ง คำถาม?
--- หยิบลูกไหนไปล่ะ (มันเหมือนกัน)
--- Max(Date) ก็เช่นเดียวกันครับ
Date :
2014-09-13 20:03:53
By :
หน้าฮี
Load balance : Server 05