Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP और MySQL :कुछ का योग दिखाएँ, विशिष्ट श्रेणी द्वारा वर्गीकृत

आप एक कॉलम द्वारा ग्रुपिंग मानों को एसयूएम करने के लिए इस तरह एक एसक्यूएल कथन का प्रयास कर सकते हैं:

SELECT SUM(value) as Total_val, category FROM tbl_transaction GROUP BY category

और आप इसे PHP में इस तरह उपयोग कर सकते हैं:(मैं पीडीओ के साथ टाइप करूंगा क्योंकि mysql_ कमांड अभी पुराने हो रहे हैं और अनुशंसित नहीं हैं)

//Creating connection
$connection=new PDO("mysql:host=127.0.0.1;dbname=database_name","root","");

//Creating main query, fetching main categories
$query=$connection->prepare("SELECT category, SUM(value) as MAIN_CAT_TOTAL_VAL FROM tbl_transaction GROUP BY category");
$query->execute(); //executing query

foreach($query->fetchAll() as $q) //fetching results
{
    echo "<b>".$q["category"].":<br/></b>"; //printing main category name

    //creating second query which sums value column and groups by sub category
    $query2=$connection->prepare("SELECT SUM(value) as TOTAL_VALUE, sub-category FROM tbl_transaction WHERE category=:p1 GROUP BY sub-category");   
    $query2->bindParam(":p1",$q["category"],PDO::PARAM_STR); //binding parameter to second query
    $query2->execute(); //executing second query
    foreach($query2->fetchAll() as $q2) //fetching the results
    {
        echo $q2["sub-category"]." -> ".$q2["TOTAL_VALUE"]."<br/>"; //printing the results
    }

    echo "total amount of category ".$q["category"]." = ".$q["MAIN_CAT_TOTAL_VAL"];
    echo "<hr/>"; //cosmetics
}

यदि आप इसे ठीक से संपादित करते हैं तो यह काम करना चाहिए। यह थोड़ा जटिल लग सकता है यदि आप सुनिश्चित नहीं हैं कि पीडीओ का उपयोग कैसे किया जाए, तो मेरा सुझाव है कि आप इसे देखें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL परिणाम सेट में पंक्तियों को कैसे सीमित करें

  2. मैसकल - वाई-एम-डी प्रारूप के साथ महीने के अनुसार समूह

  3. MySQL:फ़ील्ड को 0 पर सेट करने वाली सभी पंक्तियों को अपडेट करना, लेकिन एक पंक्ति के फ़ील्ड को 1 पर सेट करना

  4. क्या मैं लोकलहोस्ट के लिए क्रॉन जॉब कॉन्फ़िगर कर सकता हूं?

  5. Mysql json डेटाटाइप काउंट और ग्रुपबाय