 |
|
ผมอาจจะตั้งหัวเรื่องที่อ่านแล้วงง อาจจะสื่อความหมายผิด ต้องขออภัยด้วยนะครับ
คืออย่างนี้ครับ ผมมีฐานข้อมูลหนึ่ง ซึ่งมีตารางดังนี้
1. user เก็บข้อมูลลูกค้า
2. auction เก็บข้อมูลการประมูล
3. auction_history ที่เก็บประวัติที่เกิดขึ้นกับการประมูล
ข้อมูลที่ผมจะดึงอยู่ในตาราง auction_history ที่มีรูปแบบและตัวอย่างข้อมูลของตาราง ดังต่อไปนี้
auc_id FK auction.auc_id , user_id FK user.user_id , action , time
1 , 3 , bid , ...
1 , 7 , bid , ...
2 , 3 , bid , ...
1 , 3 , bid , ...
3 , 9 , bid , ...
1 , 9 , bid , ...
1 , 3 , bid , ...
3 , 7 , bid , ... เป็นต้น
ซึ่งข้อมูลที่ผมอยากได้คือ
1. ในการประมูลหนึ่งๆเนี่ย สมาชิกแต่ละคนกระทำการใดๆไปกี่ครั้ง
เช่นในการประมูลที่ 1 สมาชิกที่ action มากที่สุดตามลำดับคือ 3 , 7 , 9 เป็นต้น
2. จากข้อ 1 ถ้า query ออกมาแล้วจะพบว่ามี 3 row ที่มี auc_id=1 user_id=3
ถ้าผมต้องการเอาเฉพาะจำนวนการซ้ำกันเนี่ยต้องทำอย่างไรครับ
3. การประมูลใหนเป็นการประมูลที่มีความเปลี่ยนแปลงมากที่สุด
เช่นในข้อมูลตัวอย่างก็จะเป็น 1 , 3 , 2 เป็นต้น
ควรจะ Query ยังไงดีครับ หรือต้องเขียน PHP เพื่อเช็คที่ละ user_id หรือ auc_id เลย หรือจะต้องแก้ไขตารางอย่างไร
ปล. จริงๆในตาราง auction ผมมีฟิลด์ action counter อยู่แล้วไว้นับจำนวนเหตุการณ์เปลี่ยนแปลงที่เกิดขึ้นกับการประมูลนั้นๆ
แต่รู้สึกเหมือนกับว่าน่าจะมีวิธีอื่นที่ดีกว่านี้ในการแสดงผล
Tag : PHP, MySQL
|
|
 |
 |
 |
 |
Date :
2010-10-15 16:24:22 |
By :
Tar_Tw45 |
View :
1030 |
Reply :
1 |
|
 |
 |
 |
 |
|
|
|
 |