|
|
|
ขอ ถาม เรื่อง การ ใช้ DISTINCT ครับ ผม ID, DATE, TIME |
|
|
|
|
|
|
|
สมมติว่า มีข้อมูลอยู่ 3 ฟิลด์ คือ
ID, DATE, TIME ทั้ง3ฟิลด์เป็น PK
สมมติข้อมูล คือ
1, 2012-06-22, 100000
1, 2012-06-22, 153000
2, 2012-06-22, 111200
1, 2012-06-20, 90000
อยากให้มัน เลือกเฉพาะแค่แถวเดียวของวันนั้นๆ เวลาอันแรกครับ
เช่น
1, 2012-06-22, 100000
2, 2012-06-22, 111200
1, 2012-06-20, 90000
ผมจะใช้ DISTINCT ยังไงครับ
Tag : PHP, Oracle
|
|
|
|
|
|
Date :
2012-06-22 13:47:19 |
By :
50121680 |
View :
1204 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากให้มัน DISTINCT อันไหนก็เอาวงเล็บครอบไว้ครับ
เช่น
Code (PHP)
SELECT mem_id, mem_name, DISTINCT(mem_date) FROM member ORDER BY mem_date DESC
ไม่รู้ใช่แบบที่ต้องการหรือเปล่านะ?
|
|
|
|
|
Date :
2012-06-22 14:00:02 |
By :
iamatomix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณครับ
Code (PHP)
SELECT ID,DATE,MIN(TIME) FROM table GROUP BY ID,DATE
|
|
|
|
|
Date :
2012-06-22 14:37:37 |
By :
50121680 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีปัญหาอีกนิดนึงครับ
ถ้ามีฟิลก์เพิ่มมาอีกฟิลด์นึงเช่น
ID, DATE, TIME, ADD
แล้วใช้
Code (PHP)
SELECT ID,DATE,MIN(TIME),ADD FROM table GROUP BY ID,DATE,ADD
แล้วหากADDไม่เหมือนกัน มันจะ GROUP BY ADD ด้วย หากไม่ใส่ ADD มันจะไม่ให้ GROUP
เพราะฟิลด์ ADD จำเป็นต้องใช้
|
ประวัติการแก้ไข 2012-06-22 15:58:32
|
|
|
|
Date :
2012-06-22 15:58:16 |
By :
50121680 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่จำเป็นต้องใช้ก็ไม่ต้อง SELECT ครับ
|
|
|
|
|
Date :
2012-06-23 17:41:23 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|