สอบถามนิดนึงครับ จะเอาค่า SUM มาใช้ WHERE ได้อีกไหมครับ ?
ถ้าใน table มีฟิลด์ total ก็นำไป where ได้ แต่ถ้าไม่มีก็ where ไม่ได้ ถ้าอยากจะตรวจสอบก็ให้เอาฟิลด์ aa มาใช้แทน เช่น
SELECT id, SUM(aa) as total FROM test WHERE aa > '300' GROUP BY id
ถ้า aa มีค่าข้อมูลก็น่าจะแสดงถ้าไม่มั่นใจยังไงก็ลองเอา sql ที่คุณทำไปลองรัน phpmyadmin ดูก็ได้ค่ะ แล้วก็ลองปรับดู
ไม่รู้เข้าใจถูกป่าวนะ ยังไงก็ลองดูอีกทีนะคะ
ไม่งั้นก็รอผู้ที่รู้กว่านี้มาตอบละกันเราไม่มั่นใจเท่าไหร่อะ
Date :
2010-06-11 16:19:33
By :
koii_bass
เมื่อ select ออกมาแล้วก็ fetch ข้อมูลมาใส่ตัวแปรก่อน แล้วค่อยเอาไปเปรียบเทียบต่อครับ
สามารถทำได้ครับผม
Date :
2010-06-11 17:19:38
By :
deawx
ไม่ต้อง fetch ให้เสียเวลาค่ะ ซ้อน query ลงไปเลย
Code (PHP)
SELECT * FROM
(
SELECT *, SUM(aa) as total
FROM test GROUP BY id
) AS PRIMARY_QUERY
WHERE PRIMARY_QUERY.total > 300;
เอ คนยิ่งใหญ่เค้ามองกันแต่ฟ้าหรอคะ คงซุ่มซ่ามน่าดูเนอะคะ
แล้วดินมันไม่ดีตรงไหนละคะ ถ้าจะมอง เพราะใช้ปลูกข้าวที่เรากิน ดินที่ฝังเราก้อตรงนี้ไม่ใช่หรอ
Date :
2010-06-11 18:12:46
By :
blurEyes
มันเป็นคำคมครับคุณ blurEyes ใจเย็นๆครับ ค่อยๆ คิด ว่าความหมายแท้จริง ของคำนั้น คืออะไรก่อน แล้วค่อย ประเทียด ผม
Date :
2010-06-11 19:37:11
By :
deawx
ไม่เห็นจะคมตรงไหนเลย แล้วไม่ได้ประเทียดด้วยค่ะ
ทราบค่ะคุนพยายามบอกให้มองกว้างๆ แต่นะกลอนดีคำคมดีๆมีเยอะไปนี่คะ
อย่าง
นาคีมีพิษเพี้ยงสุริโย
เลื้อยบ่ทำเดโชแช่มช้า
พิษน้อยหยิ่งโยโสแมงป่อง
ชูตะหางเองอ้าอวดอ้างฤทธี
หรือจะ
พฤกษาพกาสรอีกกุญชรอันปลดปลง
โททนต์เสนห์คงสำคัญหมายในกายมี
นรชาติวางวายมลายสิ้นทั้งอินทรีย์
สถิตย์ทั่วแต่ชั่วดีประดับไว้ในโลกา
เยอะแยะไปค่ะ
ไม่ต้องใช้ คำคม
ที่ฟังแล้วหึกเหิมลำพอง
แล้วดูถูกขนาดนั้นก้อได้มั้งคะ
Date :
2010-06-11 20:10:21
By :
blurEyes
เอาแล้วเว้ยๆ มีโคลงโลกนิจมาแล้วเว้ย
น้องพราวครับ พี่ก็ไม่รู้น้องมาอารมณ์ไหนเหมือนกันนะ แต่เราแซวกันเล่นขำๆ ดีกว่านะ
เรื่องตั้งชื่อน่ะ มันเป็นเรื่องสิทธิส่วนบุคคล ถ้าตั้งแล้วไม่ได้ทำให้ใครเดือดร้อนก็ไม่น่าจะมีอะไรนะ
เดี๋ยวมันจะกลายเป็นเรื่องละเมิดสิทธิส่วนบุคคลไป อย่าไปทำให้เรื่องไม่เป็นเรื่องกลายเป็นมาม่า
ขึ้นมาเลย อยู่บอร์ดเดียวกันคุยกันขำๆ ดีกว่านะจ๊ะ
Date :
2010-06-11 22:07:41
By :
อสุจิพโล อัณฑะโตคิกขุ
แค่ไม่ชอบคนดูถูกคนด้วยกันค่ะ
เค้าจะใช้ชื่อไรก้อได้หรอไม่มีขอบเขตหรอคะ
ก็บรรลุนิติภาวะกันแล้ว มีงานทำแล้ว
จิตใจก้อน่าจะเติบใหญ่ พอๆกะตัวนี่คะ
พราวไม่กล้าไปสอนใครหรอกค่ะ
เดวน้ำในแก้วของใครๆจะกระฉอก
แล้วไอ้ คิกขุรัยนี่ คิดนานมะเนี่ยพี่ตึ๋ง
หงุดหงิดตั้งกะอีตาโปรแกมเมอร์ขี้เหล้ารัยนั่น
ข้ามไปมั่วฝั่งโน้นละ
Date :
2010-06-11 22:44:35
By :
blurEyes
ถือว่าเจ๊ากันแล้วกัน ปกติพี่เองก็เข้ามาป่วนห้องนี้อยู่บ่อยๆ
ห้องติดกันน่า เล่นกันขำๆ อย่าไปจริงจังอะไรมากมาย แค่เรื่องงานก็เครียดแย่แล้ว
ดังนั้นอยากทำอะไรก็ทำ แต่การกระทำของเราต้องไม่ทำให้คนอื่นเดือดร้อนก็พอแล้ว
Date :
2010-06-11 22:56:18
By :
tungman
Date :
2010-06-11 23:00:37
By :
DownsTream
กำลังพยายามขำค่ะ ขอบคุณค่ะ
แล้วก็ขอโทษพี่ๆทุกคนด้วยค่ะ
Date :
2010-06-11 23:15:09
By :
blurEyes
แค่ไม่ชอบคนดูถูกคนด้วยกันค่ะ
เค้าจะใช้ชื่อไรก้อได้หรอไม่มีขอบเขตหรอคะ
ก็บรรลุนิติภาวะกันแล้ว มีงานทำแล้ว
จิตใจก้อน่าจะเติบใหญ่ พอๆกะตัวนี่คะ
พราวไม่กล้าไปสอนใครหรอกค่ะ
เดวน้ำในแก้วของใครๆจะกระฉอก
แล้วไอ้ คิกขุรัยนี่ คิดนานมะเนี่ยพี่ตึ๋ง
หงุดหงิดตั้งกะอีตาโปรแกมเมอร์ขี้เหล้ารัยนั่น
ข้ามไปมั่วฝั่งโน้นละ
ผมดูถูกคนตรงใหน
ผมจับตาคุณอ่านชื่อผมหรือกะไร
ผมกับคุณรู้จักกันหรือ ก็เปล่า
คำว่าคำคม หรือปรัชญา ผมต้องขออนุญาติใครก่อนไม๊ครับ
หรือจะเอาตัวเองเป็นบรรทัดฐาน ผมว่าอย่าเลยครับ
อย่าพาลครับ ..
อันว่าปราชญ์ที่โตแล้ว ควรคิดในมุมดี มากกว่ามุมอับครับ
หากตีโจทย์ไม่แตก ก็อย่าโชว์ง่าวรำพันครับ
คำว่า
เมื่อยิ่งใหญ่ให้มองฟ้า เมื่อด้อยค่าให้มองดิน
มันหมายถึง
เมื่อตัวเรายิ่งใหญ่ หรือเติบโต แล้วเราคิดว่าเราโต ... ให้มองดูฟ้า
เราจะได้รู้ว่า เราตัวต้อยเล็กติ๊ดกว่ามด เราจะได้ไม่ลำพอง และรู้ว่าเราไม่ได้ยิ่งใหญ่อะไรเลย
คำว่า เมื่อด้อยค่าให้มองดิน
ดินที่เขาเหยียบย่ำ ยังทำคุณประโยชน์ให้โลกใบนี้สดใส ให้ชีวิตแก่พืชได้
เราก็ต้องทำได้เหมือนกัน
ครับ
Date :
2010-06-11 23:32:29
By :
deawx
ที่คุณต้องขออนุญาติมั่งก็คือ ความดีความงามขั้นพื้นฐานมังคะ
ถ้าดีจริงจะมีคนทักท้วงคุณหรอ
ไม่ได้คิดว่าคุณจะเปลี่ยนอะไรอยู่แล้วละค่ะ
แล้วไม่ได้จำเป็นที่ต้องรู้จักคุณ
เพราะถึงจะรู้จักคุณก็ไม่คิดจะฟังคนอื่นอยู่ดี
ครั้งนึง คนเองก็เคยบอกอยู่แล้ว
ความดี ความถูกต้อง ใครเป็นคนตัดสิน
ต้องอย่างนี้อย่างนั้นถึงจะถูกหรอ
ก็คนคิดเอาแต่ตัวเองเป็นทีตั้งอย่างคุณ
คงคิดไรทำนองนี้ได้เท่านั้นละมัง
คำคมที่ทำให้ตัวเองดูดีหรอคะ
ถ้านิยามมาได้เท่านี้ ก้อตามนั้นค่ะ
ถ้าจะง่าวก้อง่าวค่ะ ยอมรับค่ะแค่ผู้หญิงง่าวๆ
ที่เอากลอน มอปลาย ที่ใครๆก้อท่องได้มาแปะ
อีกอย่างป่าวพาลค่ะ แค่มากวนใจมั่งนิดๆ
Date :
2010-06-11 23:49:26
By :
blurEyes
มาม่าแล้วนั่นไง
ผมขอโทษแทนน้องสาวผมด้วยแล้วกันครับ (-/\-)
แล้วน้องพราวอย่าลืมขอโทษพี่เค้าอีกทีด้วยนะ
Date :
2010-06-11 23:52:33
By :
tungman
อื้อ ขอโทษค่ะ
Date :
2010-06-11 23:56:46
By :
blurEyes
เบื่อครับ เล่นไม่เลิก ทั้งที่ผมก็เฉลยคำไปแล้ว
ผมไม่จำเป็นต้องสร้างภาพดูดีหรอกครับ เพราะคนทั่วไปก็ไม่ได้เห็นตัวตนของกันและกันอยู่แล้ว
ผมว่า ผมคงไม่อธิบาย กับคำว่า สิทธิ และเสรีภาพ ในการตั้งชื่อผมหรอกครับ
และผมก็คงไม่ก้าวก่ายสิทธิในการตั้งชื่อ ของใคร ๆ เหมือนกันครับ
ความดีความถูกต้องไม่มีใครตัดสิน แต่ทำไปแล้วมันไม่เดือดร้อน หรือกระทบคนอื่นเขา ผมว่าผมพูดในแนวนั้นครับ
อย่าฟังไม่ได้ศัพท์และจับไปกระเดียด หยิบคำนั่นผสมนี่ให้คนอื่นเขาเดือดร้อนเลยครับ
มันจะเข้าตัวเอง
ตามสบายครับ วันนี้ผมจะว่างดูกระทู้นี้และตอบให้ถ้าไม่เข้าใจตรงใหน
Date :
2010-06-12 00:04:22
By :
deawx
ใช้ SQL HAVING ครับ
มีอะไรกันหรือเปล่าครับ
Date :
2010-06-12 05:52:11
By :
webmaster
คงไ่ม่มีอะไรหรอกครับคุณวิน
สงสัยน้องเขาคงอารมณ์เสีย เพราะเห็นบางกระทู้ก็ตอบแบบนี้หละ แต่ผมก็เพิ่งมาเห็นพาดพิงผมในกระทู้นี้เกี่ยวกับชื่อผมที่ตั้ง
เลยมาตอบข้อข้องใจน้องเขาเฉย ๆน่ะครับ
Date :
2010-06-12 07:49:10
By :
deawx
ขอบคุณมากๆนะครับ ที่ช่วยๆ ตอบคำถามให้นะครับ เดี๋ยวลองเอาไปทำดูก่อนนะครับ
ดีใจนะครับ ที่มี โปรแกรมเมอร์หลายๆท่านช่วยกัน ตอบให้นะครับ
Date :
2010-06-12 09:40:50
By :
socool
"หนุ่มสาวทะเลาะกัน จับเดทพลันให้สิ้นเรื่อง"
เพิ่งแต่ง
Date :
2010-06-12 09:58:57
By :
pjgunner
ถามเพิ่มนิดนะครับ
จาก code ด้านล่างนี้ จะแสดง ข้อมูลทั้งหมด แต่ฟิว total จะแสดงข้อมูล เฉพาะ total > 300 ถ้าไม่เข้าเงื่อนไขจะเป็นว่างๆนะครับ ผมต้องใช้วิธีไปเช็คที่ส่วนของการแสดงผล ถ้าtotal เป็นค่าว่างไม่ให้แสดง
คำถามคือ จะเพิ่ม ใส่ sql ข้างล่างนี้เลยได้ไหมครับ ถ้า total > 300 ให้แสดงข้อมูลออกมา นอกนั้นไม่แสดง ?
SELECT *, SUM(aa) as total FROM test WHERE total > 300 GROUP BY id HAVING SUM(aa) >= '300' ";
รบกวนด้วยครับ
Date :
2010-06-12 10:18:14
By :
socool
ทำไมใส่เป็นสตริงล่ะครับตรง SUM(aa) >= '300'
และอีกอย่างใช้ total >= 300 เลยไม่เร็วกว่าเหรือคับ
having ผมยังไม่เคยใช้เลย
เอ่อ แต่ >= กับ > นี่ไม่เหมือนกันนะครับ
Date :
2010-06-12 10:35:40
By :
pjgunner
ขอบคุณครับที่ช่วยตอบให้นะครับ
โทษทีครับ ใส่ผิดนะครับ
"เอ่อ แต่ >= กับ > นี่ไม่เหมือนกันนะครับ"
"SELECT *, SUM(aa) as total FROM test WHERE total > 300 GROUP BY id HAVING SUM(aa) >= '300' ";"
ขอต่อเนื่องคำถามนะครับ จาก No. 20 ( ขอแก้ไขคำถามเพิ่มนะครับ )
คำถามคือ จะเพิ่ม ใส่ sql ข้างล่างนี้เลยได้ไหมครับ ถ้า total >= 300 ให้แสดงข้อมูลออกมา นอกนั้นไม่แสดง ?
SELECT *, SUM(aa) as total FROM test GROUP BY id HAVING SUM(aa) >= 300";
รบกวนด้วยครับ
Date :
2010-06-12 10:55:24
By :
socool
การที่จะใช้ Field ภายในตาราง ที่ ทำการ Compute อะไรต่างๆแล้วมาใช้ประโยชน์ อีกครั้ง ก็ควรจะ ใช้ Having ตามที่บนๆได้กล่าวมาครับ กรณี ที่ไม่อยากใ้ช้ Query ที่ ซ้อนกันหลายๆชั้น สมมติว่า คุณใช้ Having Sum(aa) >= 300 แต่ของคุณจะเกิดกรณี ที่เป็นค่าว่างด้วยใช่ไหม ถ้าอยางนั้น คุณก็ and ต่อเนื่อง Having ไปอีก 1 ครั้งในกรณี ที่ไม่ต้องการ Null Value ด้วย เช่น Having Sum(aa) >= 300 and Sum(aa) is not null
Date :
2010-08-09 11:58:54
By :
burn
Load balance : Server 04