mysql ผมต้องการหาค่าเฉลี่ยแบบมีเงื้อนไขในแต่ละฟิวด์ครับ
ไม่มีใครตอบผมเลย ...
ปกติผมก็ใช้ where แล้วระบุเงื้อนไขเป็นพื้นฐานอยู่แล้ว แต่อันนี้ไม่รู้จะระบุยังไง
หรือมีวิธีอื่นอีกไหม แนะนำด้วยครับ
รบกวนท่านผู้รู้ด้วยครับ ใกล้เสร็จอยู่แล้ว ติดตรงสรุปผลอันนี้อันเดียว...
Date :
2013-02-16 15:23:03
By :
cles
___ItemCode___UnitBuy___UnitSale____Status
1___P001_______100_______0________1
2___P001________80_______0________1
3___P001_________0_____120________0
4___P001_________0_____140________0
5___P001_______500_______0________1
6___P001_______200_______0________1
7___P001_________0_____420________0
* 1 = ซื้อ / 0 = ขาย
Code (SQL)
SELECT
ItemCode AS [รหัสสินค้า],
CASE [Status]
WHEN 0 THEN AVG(UnitSale)
END AS [เฉลี่ยขาย],
CASE [Status]
WHEN 1 THEN AVG(UnitBuy)
END AS [เฉลี่ยซื้อ]
FROM
tb_Test
Group By
ItemCode ,[Status]
ผมก็เพิ่งจะหัดครับ อาจจะไม่สสวยงามนัก
ประวัติการแก้ไข 2013-02-16 18:20:25
Date :
2013-02-16 18:16:59
By :
คนงานตัดอ้อย
ขอบคุณมากเลยครับ ได้แล้วครับ แต่ติดนิดนึงผลลัพธ์ออกมา ค่าเฉลี่ยซื้อเขากับขายออกมันอยู่คนละแถวกันครับ
รหัสสินค้า ราคาซื้อเฉลี่ย ราคาขายเฉลี่ย
P001..........90..................
P001..........................130
P002..........4.5................
P002.............................5
คือมันออกรหัสสินค้าละสองแถว แถวซื้อเข้า กับแถวขายออก ตาม group by status
เราจะแก้ไขตรงนี้ได้ยังไงครับ
ประวัติการแก้ไข 2013-02-17 09:14:55
Date :
2013-02-17 08:52:09
By :
cles
...
ประวัติการแก้ไข 2013-02-17 11:51:05
Date :
2013-02-17 11:13:29
By :
คนงานตัดอ้อย
ยังไม่ได้ครับ
ผลลัพธ์ออกมา ค่าเฉลี่ยซื้อเข้า เหมือนกันทุกรหัส ค่าเฉลี่ยขายออกก็เหมือนกันทุกรหัส
เหมือนกับว่ามันเอาทุกรหัสที่ซื้อเข้ามาหาค่าเฉลี่ย ขายออกก็เหมือนกันครับ
รบกวนท่านมากไปรึเปล่า ขอบคุณครับ
Date :
2013-02-17 11:43:58
By :
cles
ผมว่า คุณ ไม่ได้รบกวนผมนะครับ
แต่กลายเป็นผมทำให้คุณเสียเวลามากกว่าครับ
ขออภัยมือใหม่ ตกๆหล่นๆครับ
Code (SQL)
SELECT
ItemCode,
(SELECT AVG(UnitSale)FROM tb_Test WHERE [Status] = 0 AND temp.itemCode = tb_test.ItemCode) AS [เฉลี่ยขาย],
(SELECT AVG(UnitBuy)FROM tb_Test WHERE [Status] = 1 AND temp.itemCode = tb_test.ItemCode) AS [เฉลี่ยซื้อ]
FROM
tb_Test AS [temp]
Group By
ItemCode
Date :
2013-02-17 12:05:58
By :
คนงานตัดอ้อย
ได้แล้วครับ ขอบคุณ คุณคนงานตัดอ้อยมากๆครับ
ยินดีที่ได้รู้จักนะครับ
Date :
2013-02-17 15:15:42
By :
cles
Load balance : Server 05