उदाहरण

|like |comment|
|user1|asd    |
|user2|awe    |
|user3|aqw    |
|user4|atr    |
|user5|axc    |
|user6|azw    |
|user7|       |

मेरे पास दो कॉलम हैं और मैं जो करना चाहता था वह उन कॉलम के अंदर सभी पंक्तियों को जोड़ना और दो कॉलम लाने के लिए है, लेकिन मुझे इस बारे में कोई जानकारी नहीं है कि एसक्यूएल में किसी क्वेरी में इसे कैसे किया जाए।

परिणाम

|like |comment|
| 7   |   6   |

मैंने इसे कतारबद्ध करने की कोशिश की लेकिन मैं केवल 1 कॉलम ला सकता हूं, मुझे नहीं पता कि इसे दो कॉलम के साथ कैसे किया जाए ..

function countpostcomment($puid){
$sql = "SELECT COUNT(pc_comment) FROM pcomment WHERE post_uid = '$puid'";
$stmt = $this->dbh->prepare($sql);
$stmt->execute(array("0"));
$active_data = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $active_data;
} 

यहां मेरी नमूना क्वेरी है मैंने पूरे फ़ंक्शन का परीक्षण नहीं किया है केवल चुनिंदा कारण मुझे नहीं पता कि मुझे सरणी का उपयोग करने की आवश्यकता है या नहीं ..

0
Lion Smith 8 मार्च 2017, 07:17

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि आप बस चाहते हैं:

SELECT COUNT(*) as likes, COUNT(pc_comment) as comments
FROM pcomment
WHERE post_uid = '$puid';

COUNT(*) पंक्तियों की संख्या गिनता है (इस मामले में 7)। COUNT(<column name>) कॉलम में गैर-शून्य मानों की संख्या (इस मामले में 6) की गणना करता है।

0
Gordon Linoff 8 मार्च 2017, 07:20
यदि यह काम करता है तो क्या मुझे डेटा लाने के लिए एक सरणी का उपयोग करने की आवश्यकता है या नहीं?
 – 
Lion Smith
8 मार्च 2017, 07:22
. . . यह दो कॉलम के साथ एक पंक्ति देता है। एक सरणी ओवरकिल की तरह लगती है।
 – 
Gordon Linoff
8 मार्च 2017, 16:41