function date time + mssql

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: function date time + mssql

โดย mindphp » 16/02/2007 4:53 pm

ดีใจด้วยคับ

โดย aunohara » 16/02/2007 4:49 pm

โครงสร้างตาราง และข้อมูลก็อย่างที่ผมโพสไปแหละครับ
ผมลอง select 2 ครั้งในคำสั่งเดียว ก็ได้แล้วครับ

select * from thistable where recdate in (select max(recdate) from thistable )

ผลลัพธ์
recdate----------------------------|regno-----------------------------------|div|-grp-|-su-|-se
2007-02-15 02:33:27.000 | กกจ.7440-001-0001 11/49 | 19 | 04 | 03 | 00

แต่คิดว่าความเร็วในการทำงานคงไม่เท่ากับ select ครั้งเดียว ช่วยชี้แนะด้วยน่ะครับ

โดย mindphp » 16/02/2007 2:55 pm

ตัวอย่าง

SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC

Result:
Company OrderNumber
W3Schools 6798
W3Schools 2312
Sega 3412
ABC Shop 5678

โดย mindphp » 16/02/2007 2:51 pm

ตัว อย่าง ธรรมดาๆ ครับ ต้อง นำมาประยุคเอาล่ะครับ sql มันก็ อยู่แค่ นั้นล่ะครับ
ลอง เอา โครง สร้าง และ ข้อมูล ที่มี มาลง หน่อย คับ จะได้ช่วยกันดู

โดย aunohara » 16/02/2007 12:39 pm

order by ใช้จัดลำดับครับ ไม่สามารถเลือกได้ว่าจะเอาวันที่ล่าสุด เข้าไปดูเวบแล้วก็ไม่เห็นมีอะไร มีแค่ตัวอย่างธรรมดาๆที่รู้กันอยู่

ผมมีความรุ้แค่นี้ ยังไงก็ช่วยชี้แนะด้วยว่าใช้ order by ยังไง

โดย mindphp » 16/02/2007 11:53 am

ใส่ ORDER BY เข้าไป
ลอง ดู ที่
http://www.w3schools.com/sql/sql_groupby.asp

โดย aunohara » 16/02/2007 11:14 am

recdate----------------------------|regno---------------------------------|div-|-grp-|-su-|-se
2007-02-15 02:31:14.000 | กกจ.7440-001-0001 11/49 | 19 | 04 | 00 | 00
2007-02-15 02:32:33.000 | กกจ.7440-001-0001 11/49 | 16 | 00 | 00 | 00
2007-02-15 02:33:27.000 | กกจ.7440-001-0001 11/49 | 19 | 04 | 03 | 00

จากตาราง ผมต้องการแสดงข้อมูลทั้งหมด โดยเลือก วันที่บันทึกอันล่าสุด จะใช้คำสั่ง

select max(recdate),regno,div,grp,su,se from thistable group by regno,div,grp,su,se

ผลลัพธ์
recdate----------------------------|regno---------------------------------|div-|-grp-|-su-|-se
2007-02-15 02:32:33.000 | กกจ.7440-001-0001 11/49 | 16 | 00 | 00 | 00
2007-02-15 02:33:27.000 | กกจ.7440-001-0001 11/49 | 19 | 04 | 03 | 00

แต่ผลลัพธ์ที่ผมอยากได้คือ วันที่ล่าสุด 2007-02-15 02:33:27.000 ต้องเขียนยังไงครับ
จะตัด group by ออกก็ไม่ได้ หลัง group by ต้องใส่ column ที่เรา select มาทั้งหมด

โดย mindphp » 16/02/2007 10:24 am

SELECT Max(DateTime]) FROM T

function date time + mssql

โดย aunohara » 16/02/2007 1:51 am

ใช้คำสั่งอะไรในการเลือกวันที่ล่าสุดครับ (mssql น่ะครับ)

2007-02-15 13:00:09.000
2007-02-15 13:13:15.000
2007-02-15 13:15:07.000
2007-02-15 13:15:49.000
2007-02-15 13:23:20.000
2007-02-15 13:25:30.000

-----ผลลัพธ์------
2007-02-15 13:25:30.000

ข้างบน