สอบถามเรื่อง sql ครับ

เริ่มโดย panhinlad, 25 ธันวาคม 2014, 16:19:34

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

panhinlad

String str = "select count(*) as num from table_name where q1='1'";      
ResultSet rec = s.executeQuery(str);      
int count1=0;
int count2=0;
while((rec!=null) && (rec.next()))      
{         
   count1 = rec.getInt("num");      
}

คือตอนนี้ค่า count1 ผมได้ทราบแล้วว่ามาจากทั้งหมดของ q1
คือผมอยากได้ ของ q2 มาเก็บไว้ที่ count2 โดย select เพียงครั้งเดียวทำยังไงครับ

:wanwan011:
อยากหัด เขียนเกม [direct=http://unity3d-thailand.blogspot.com/p/blog-page_63.html]สร้างเกม[/direct] คลิกไป
[direct=http://unity3d-thailand.blogspot.com/]สร้างเกม[/direct] ด้วย Unity thai tutorial คลิก[direct=https://unity3d-thailand.blogspot.com/p/iphone_3.html][/direct]

narincr

ถ้าเป็นใน sql server จะประมาณนี้ครับ

SELECT SUM(IF q1='1' THEN 1 ELSE 0) AS COUNT_Q1,SUM(IF q2='1' THEN 1 ELSE 0) AS COUNT_Q2 FROM TABLE_NAME ครับ

หลักการคือ ใช้ + แทนครับ ถ้า Q1 = 1 ให้ในวงเล็บเป็น 1 ครับ Q2 ก็เช่นเดียวกัน
แล้วมันจะเอา 1 ในวงเล็บไป + จนครบแถวครับ ความหมายเดียวกันกับ COUNT ครับ แต่คนละเทคนิคเอามาประยุกต์เองครับ

ได้ไม่ได้ บอกด้วยนะครับ
:wanwan016:
รับทำเว็บไซท์ แก้ไข Script CMS  โปรเจ็คนักศึกษา Script PHP ทุกชนิด รับงานเร่ง งานด่วน รับภายใน 3-5 วัน โทรหรือ Line มาคุยกันได้ครับ
DO-PHP.COM , DO-PHP.COM , DO-PHP.COM
Mobile : 092-1064587 , Line : narin.php Email : narin.cr@gmail.com

dekdoo

เอาง่าย ๆ แบบนี้ไหมครับ ไปดัดแปลงเอานะ เรียก 1 ครั้งเหมือนกัน
- รวมค่าฟิว num เมื่อฟิว q1 = 1 ได้ค่า $num1
- รวมค่าฟิว num เมื่อฟิว q2 = 1 ได้ค่า $num2

Table ชื่อ table_name
มีฟิว num , q1, q2

<?php
$sql = "select * from table_name";     
$result = mysql_query($sql);

$num1 = 0;
$num2 = 0;

while ( $row = mysql_fetch_assoc($result) ) {

if($row['q1'] == '1'){
    $num1 += $row['num'];
}
if($row['q2'] == '1'){
    $num2 += $row['num'];
}

}

    echo num1."<br>".num2;
?>

**หากมันผิดหรือ run ไม่ได้ต้องขออภัยด้วยนะครับ ไม่ได้ Test