กระทู้เก่าบอร์ด อ.Yeadram
8,747 28
URL.หัวข้อ /
URL
การใช้ Group By
คือผมเขียนคิวรี่โดยใช้คำสั่ง group by
select proid,qty,Sum(amount) as sumamount
from inv_stockcarddetail
group by proid ;
ประมาณนี้นะครับ ผมสงสัยว่าทำไม โปรแกรมมันถึงฟ้อง error ตรง qty ว่า you tried to execute a query that does not include the specified expression 'qty' as part of an aggregate function.
แต่ถ้าใส่ sum เข้าไปกลับไม่มีปัญหา หรือว่าต้องใส่อะไรยังไงครับ
select proid,qty,Sum(amount) as sumamount
from inv_stockcarddetail
group by proid ;
ประมาณนี้นะครับ ผมสงสัยว่าทำไม โปรแกรมมันถึงฟ้อง error ตรง qty ว่า you tried to execute a query that does not include the specified expression 'qty' as part of an aggregate function.
แต่ถ้าใส่ sum เข้าไปกลับไม่มีปัญหา หรือว่าต้องใส่อะไรยังไงครับ
28 Reply in this Topic. Dispaly 2 pages and you are on page number 2
22 @R03862
- ช่วยบอกอีกทีว่า รัน 12/10/2552 - 12/10/2552 ครั้งที่สองไม่ได้ หรือได้แต่ได้ค่าที่ผิดพลาดมา
--------- ได้ค่าผิดพลาดครับ
- แล้วถ้าเรารัน 12/10/2552 - 12/10/2552 หลายๆครั้งติดต่อกัน โดยไม่รันวันที่ 13 เลย มันจะเป็นอย่างไร มันจะรันไม่ได้ หรือว่าได้ค่าผิดพลาด
--------- รันครั้งที่สองได้ค่าที่รวมมาจากการรันครั้งแรก คือสมมุติเก็บยอดสะสมได้ 200 พอรันรายงานอีกครั้งมันก็จะนำค่า 200 มาบวกกับบันทัดแรกครับ
- คุณเปิดคิวรี่มาทำงานโดยตรงใช่หรือไม่ หรือว่าเรียกผ่านฟอร์ม/โปรแกรมอีกที ถ้าเป็นกรณีหลัง คุณใช้คำสั่งอะไร เขียนมาให้ดูด้วย
--------- ใช้คิวรี่แบบที่อาจารย์เขียนให้แหละครับ
--------- ได้ค่าผิดพลาดครับ
- แล้วถ้าเรารัน 12/10/2552 - 12/10/2552 หลายๆครั้งติดต่อกัน โดยไม่รันวันที่ 13 เลย มันจะเป็นอย่างไร มันจะรันไม่ได้ หรือว่าได้ค่าผิดพลาด
--------- รันครั้งที่สองได้ค่าที่รวมมาจากการรันครั้งแรก คือสมมุติเก็บยอดสะสมได้ 200 พอรันรายงานอีกครั้งมันก็จะนำค่า 200 มาบวกกับบันทัดแรกครับ
- คุณเปิดคิวรี่มาทำงานโดยตรงใช่หรือไม่ หรือว่าเรียกผ่านฟอร์ม/โปรแกรมอีกที ถ้าเป็นกรณีหลัง คุณใช้คำสั่งอะไร เขียนมาให้ดูด้วย
--------- ใช้คิวรี่แบบที่อาจารย์เขียนให้แหละครับ
23 @R03864
คิดไม่ออกครับว่าทำไมมีการเอาค่าสะสมจากครั้งก่อน มาบวก กับผลของการรันคิวรี่ครั้งใหม่ ลอง capture หน้าจอแล้วเอาผลการรันครั้งที่ 1 และ 2 มาแปะให้ดูได้ไหมครับ เผื่อคนอื่นจะแก้ไขให้ได้
24 @R03870
ถ้ารัน 3 ครั้งติดต่อกัน ผมรวมสะสมของครั้งที่ 3 จะเป็น 3 เท่าของค่าที่ถูกต้องหรือเปล่าครับ
25 @R03871
มันก็ไม่ใช่สะทีเดียวอะครับ คือผมจะอัพโหลดรุปแต่ทำไม่ได้ครับ
แล้วถ้าเกิดมี error message บอกว่า
ODBC--การเรียกล้มเหลว
[MYSQL][ODBC5.1 Drive][mysqld-5.0.51b-community-nt]MYSQL Server has gone away(#2006)
แบบนี้จะหมายความว่าอย่างไรหรอครับ
แล้วถ้าเกิดมี error message บอกว่า
ODBC--การเรียกล้มเหลว
[MYSQL][ODBC5.1 Drive][mysqld-5.0.51b-community-nt]MYSQL Server has gone away(#2006)
แบบนี้จะหมายความว่าอย่างไรหรอครับ
26 @R03908
ผมลองเทสหลายๆรอบดูแล้วนะครับ
คือมันจะคำนวณทั้งตารางเลยครับ
แต่พอผมดึงข้อมูลออกมาเฉพาะช่วงเวลามันก็จะได้เลขที่คำนวณไว้แล้วในตารางทั้งหมด เลขมันเลยฝิดเพี้ยนครับ
(มันไม่คำนวณเฉพาะเวลาที่เลือกครับ)
คือมันจะคำนวณทั้งตารางเลยครับ
แต่พอผมดึงข้อมูลออกมาเฉพาะช่วงเวลามันก็จะได้เลขที่คำนวณไว้แล้วในตารางทั้งหมด เลขมันเลยฝิดเพี้ยนครับ
(มันไม่คำนวณเฉพาะเวลาที่เลือกครับ)
27 @R03909
ผมไม่ทราบจริงๆครับ อาจต้องลองไปถามเวปของพวก MySQL ดู อาจมีคำตอบก็ได้
28 @R03918
ใช้ อะไร รัน คิวรี่ ชุดนี้ครับ
- php
- phpmyadmin
- navicat
- vb
ทุกครั้งที่รันแล้ว คืนค่าให้แรมหรือเปล่าครับ
php คือค่าโดย @mysql_free_result(...)
phpmyadmin คืออัตโนมัติ
navicat ต้องปิดหน้าจอตัวที่รัน
vb, asp, vba, vbscript หรืออื่นๆ ควรจะ
[connection].close
ปล. ผมก็ตั้งข้อสงสัยไปตามเรื่อง เผื่อจะช่วยหาสาเหตุเจอครับ อิอิ
- php
- phpmyadmin
- navicat
- vb
ทุกครั้งที่รันแล้ว คืนค่าให้แรมหรือเปล่าครับ
php คือค่าโดย @mysql_free_result(...)
phpmyadmin คืออัตโนมัติ
navicat ต้องปิดหน้าจอตัวที่รัน
vb, asp, vba, vbscript หรืออื่นๆ ควรจะ
[connection].close
ปล. ผมก็ตั้งข้อสงสัยไปตามเรื่อง เผื่อจะช่วยหาสาเหตุเจอครับ อิอิ
Time: 0.3066s
- ช่วยบอกอีกทีว่า รัน 12/10/2552 - 12/10/2552 ครั้งที่สองไม่ได้ หรือได้แต่ได้ค่าที่ผิดพลาดมา
- แล้วถ้าเรารัน 12/10/2552 - 12/10/2552 หลายๆครั้งติดต่อกัน โดยไม่รันวันที่ 13 เลย มันจะเป็นอย่างไร มันจะรันไม่ได้ หรือว่าได้ค่าผิดพลาด
- คุณเปิดคิวรี่มาทำงานโดยตรงใช่หรือไม่ หรือว่าเรียกผ่านฟอร์ม/โปรแกรมอีกที ถ้าเป็นกรณีหลัง คุณใช้คำสั่งอะไร เขียนมาให้ดูด้วย
- ไม่ก็ ลองเปลี่ยนใน Control Panel ให้เลือกเป็น ปี ค.ศ. แทนที่จะเป็น พ.ศ. แต่ผมก็ว่าไม่น่าจะเกี่ยวนะครับ