Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่อง mysql group by ครับ รายละเอียดด้านในครับ



 

สอบถามเรื่อง mysql group by ครับ รายละเอียดด้านในครับ

 



Topic : 116061



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



ผมอยากทราบครับว่าผมจะหาผลรวม sum(sub_out) โดยให้ group by id_pro ดูรปประกอบนะครับ

ตาราง

แต่ผมทำแล้วมันไม่รวมกันครับ ดังรูป
ทำแล้วเจ้ง

อันนี้โค้ดครับ ตอนนี้ผมเริ่มงงละครับรบกวนพี่ๆช่วยชี้แนะด้วยครับ

Code (PHP)
$sql="SELECT products.name_pro as name,products.id_pro,sum(sub_products.sub_out) as quan FROM products INNER JOIN sub_products ON products.id_pro=sub_products.id_pro GROUP BY  sub_products.sub_out,sub_products.id_pro ORDER BY sub_products.sub_out DESC";


ส่วนอันนี้โค้ดทั้งหมดครับ
Code (PHP)
<?php
include "../config.inc.php";
$con = mysql_connect($host,$username,$password);

if (!$con)
  {     die('Could not connect: ' . mysql_error());    }
  mysql_select_db($database, $con);
  mysql_query("SET NAMES UTF8");
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
window.onload = function () {
	var chart = new CanvasJS.Chart("chartContainer",
	{
		animationEnabled: true,
		title:{
			text: "Chart with Labels on X Axis"
		},
		data: [
		{
			type: "column", //change type to bar, line, area, pie, etc
			dataPoints: [
<?
//$sql="SELECT products.name_pro as name,sub_products.sub_out as quan FROM products INNER JOIN sub_products ON products.id_pro=sub_products.id_pro GROUP BY products.name_pro,sub_products.sub_out ORDER BY sub_products.sub_out DESC";
$sql="SELECT products.name_pro as name,products.id_pro as id_pro1,sum(sub_products.sub_out) as quan FROM products INNER JOIN sub_products ON products.id_pro=sub_products.id_pro GROUP BY  sub_products.sub_out,sub_products.id_pro ORDER BY sub_products.sub_out DESC";

$result = mysql_query($sql) or die(mysql_error());
//while($row = mysql_fetch_array($result)){
for ($i=0;$i<5;$i++) //นำกราฟมาแสดง 3 รายการ
			{
	$row = mysql_fetch_array($result);
	echo "{ label:\"".$row['name']."\", y:".$row['quan']." },";
  // echo "{ label:\"".$row['name']."\", y:".$row['quan']." },";
   //	echo "$row['product'];
//    echo $row['quan'];
}
?>
			
	/*		    { label: "banana", y: 18 },
				{ label: "orange", y: 29 },
				{ label: "apple",  y: 40 },                                    
				{ label: "mango",  y: 34 },
				{ label: "grape",  y: 24 } */
			]
		}
		]
		});

	chart.render();
}
</script>
<script type="text/javascript" src="canvasjs.min.js"></script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
</body>
</html>




Tag : PHP









ประวัติการแก้ไข
2015-04-27 23:59:23
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-04-27 22:20:51 By : hoyahoya View : 978 Reply : 5
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


GROUP BY sub_products.sub_out,sub_products.id_pro
แก้เป็น
GROUP BY sub_products.id_pro

และ ต้องเข้าใจว่า inner ่join ต้องมี ข้อมูลทั้งสองตาราง ถึงจะแสดงค่าออกมา






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-28 06:41:38 By : Chaidhanan
 


 

No. 2

Guest


ยังไม่ออกเลยครับอาจารย์ พอผม group by sub_products.id_pro แล้ว กราฟไม่แสดงเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-28 08:27:12 By : เจ้าของคำถาม
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ลองเปลี่ยน เป็น left join
group by product.id

Code (SQL)
SELECT 
     pd.name_pro as name,
     pd.id_pro as id_pro1,
     sum( coalesce( spd.sub_out, 0) ) as quan 
FROM products pd 
LEFT JOIN sub_products spd 
ON pd.id_pro=spd.id_pro
GROUP BY  pd.id_pro 
ORDER BY sum( spd.sub_out) DESC

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-28 10:36:17 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2015-04-28 10:36:17
รายละเอียดของการตอบ ::
ได้แล้วครับ ว่าแต่ทำไม ตอนแรกโค้ดของผมถึงไม่ออกครับ อาจารย์ช่วยชี้แนะหน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-28 18:11:41 By : hoyahoya
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ก็จากคห3 ตรับ inner ่join ต้องมี ข้อมูลทั้งสองตาราง ถึงจะแสดงค่าออกมา
ไม่แน่ใจว่าข้อมูลมันมีทั้งสองข้างหรือไม่ เลยให้ใช้ left join ใช้ตารางซ้ายเป็นหลัก
ยังไงก็มีข้อมูลแน่ๆ ครับ และ ถ้าตารางขวาไม่มีข้อมูล ก็ให้มัน ใส่ ค่า 0 มาแทน มันก็จะ sum ได้
โดยใช้คำสั่ง coalesce เช็คค่า null
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-28 18:31:54 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง mysql group by ครับ รายละเอียดด้านในครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่