ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingหารายได้ในแต่ละเดือน
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: หารายได้ในแต่ละเดือน  (อ่าน 1085 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Kaiwhan
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« เมื่อ: 08 ธันวาคม 2009, 15:01:11 »

หารายได้ในแต่ละเดือน หาได้แล้ว
แต่ติดอยู่ที่ว่าเมื่อขึ้น ปีต่อไป รายได้ในแต่ละเดือนก็ไปรวมกัน
เช่น
เดือน มกราคม 2008 รายได้ 2000
เดือน กุมภาพันธ์ 2008 รายได้ 1000
เดือน มกราคม 2009 รายได้ 1000
เดือน กุมภาพันธ์ 2009 รายได้ 1000
ผลลัพธ์ที่ได้
เดือน มกราคม 3000
กุมภาพัน 2000
คือตอนนี้ผลลัพธ์ที่ได้เอา2ปีมารวมกัน ถ้าจะให้แยกของแต่ละปีทำงัยอ่ะ

ใครพอมีวิธีบ้างค่ะ
บันทึกการเข้า
earncurrency
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 574



ดูรายละเอียด
« ตอบ #1 เมื่อ: 08 ธันวาคม 2009, 15:10:35 »

แสดงว่าไม่ได้เก็บแยกปีไว้ แยกแค่เดือนอย่างเดียว

บันทึกการเข้า

Kaiwhan
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« ตอบ #2 เมื่อ: 08 ธันวาคม 2009, 15:15:58 »

เก็บ ข้อมูลวันที่ แบบนี้ ค่ะ 2009-11-20
ตอนนี้ใช้วิธีนี้ในการหาค่าค่ะ
โค๊ด:
select  sum(profit),extract(month from a.pdate) as MONTH
from   a
 where  (extract(month from a.pdate)=12)
            or (extract(month a.pdate)=11)
 or (extract(month from a.pdate)=10)
 or (extract(month from a.pdate)=9)
 or (extract(month from a.pdate)=8)
 or (extract(month from a.pdate)=7)
 or (extract(month from a.pdate)=6)
 or (extract(month from a.pdate)=5)
 or (extract(month from a.pdate)=4)
 or (extract(month from a.pdate)=3)
 or (extract(month from a.pdate)=2)
 or (extract(month from a.pdate)=1)
group by extract(month from a.pdate)

บันทึกการเข้า
earncurrency
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 574



ดูรายละเอียด
« ตอบ #3 เมื่อ: 08 ธันวาคม 2009, 15:41:15 »

เก็บ ข้อมูลวันที่ แบบนี้ ค่ะ 2009-11-20
ตอนนี้ใช้วิธีนี้ในการหาค่าค่ะ
โค๊ด:
select  sum(profit),extract(month from a.pdate) as MONTH
from   a
 where  (extract(month from a.pdate)=12)
            or (extract(month a.pdate)=11)
 or (extract(month from a.pdate)=10)
 or (extract(month from a.pdate)=9)
 or (extract(month from a.pdate)=8)
 or (extract(month from a.pdate)=7)
 or (extract(month from a.pdate)=6)
 or (extract(month from a.pdate)=5)
 or (extract(month from a.pdate)=4)
 or (extract(month from a.pdate)=3)
 or (extract(month from a.pdate)=2)
 or (extract(month from a.pdate)=1)
group by extract(month from a.pdate)



ตอนเก็บถูกแล้ว แต่ตอนเอาออกมาแสดงต้องแยกปีด้วยครับ จาก group by extract(month from a.pdate) เท่ากับว่า sum ค่าที่เป็นเดือนเดียวกัน โดยไม่สนปี
บันทึกการเข้า

Kaiwhan
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« ตอบ #4 เมื่อ: 08 ธันวาคม 2009, 16:29:20 »

ต้อง select ซ้อน select หรือป่าวค่ะ 

เพราะถ้า group by extract(year from a.pdate)  ก้อจะออกมาผลรวมของแต่ละปีอ่ะค่ะ

ช่วยแนะนำหน่อย

ขอบคุณค่ะ
บันทึกการเข้า
earncurrency
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 574



ดูรายละเอียด
« ตอบ #5 เมื่อ: 08 ธันวาคม 2009, 17:24:24 »

ถ้าทำใน sql ทั้งหมดเลย ผมก็นึกไม่ออกเหมือนกัน ง่ายๆ ก็คือ query ในตัวแปร array ของ php เอาไว้ก่อนแล้วค่อยมา sum กันทีหลัง
บันทึกการเข้า

Kaiwhan
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« ตอบ #6 เมื่อ: 08 ธันวาคม 2009, 17:27:00 »

ขอบคุณมากค่ะ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์