2011-08-31 11 views
7

मैं ड्रूपल में कई पंक्तियों के एसयूएम के साथ एक साधारण चयन करना चाहता हूं, लेकिन मुझे यह पता लगाना नहीं है कि यह कैसे करना है। मुझे पता है कि ड्रूपल में एक प्रश्न करने के और तरीके हैं (उनमें से एक वास्तविक प्रश्न लिख रहा है, लेकिन मुझे वह नहीं चाहिए)।Drupal - पंक्तियों का एसयूएम कैसे प्राप्त करें

यहाँ है कोड मैं:

$query = db_select("node","n"); 
$query->fields("n", array("nid","likes" => "SUM(likes)")); 

लेकिन जाहिरा तौर पर Drupal मेरी कोष्ठक स्ट्रिप्स और मैं निम्नलिखित त्रुटि मिलती है:

1054 Unknown column 'n.SUMlikes' in 'field list' 

किसी को भी मेरी मदद कर सकते हैं? क्या $query->sum() जैसा कुछ है?

उत्तर

16

आप एक अभिव्यक्ति का उपयोग कर बंद सबसे अच्छा होगा:

$query = db_select('node', 'n') 
    ->fields('n', array('nid')); 
$query->addExpression('SUM(likes)', 'likes'); 

पहला तर्क अभिव्यक्ति, दूसरा नाम है।

आशा है कि

+0

सही में मदद करता है। मुझे इसकी ही खोज थी। धन्यवाद। –

+0

और मैं परिणाम कैसे प्राप्त कर सकता हूं? $ Query-> कुल? –

+0

// निम्नलिखित पूर्ण वाक्यविन्यास मेरे लिए काम किया है $ query = db_select ('node', 'n') -> फ़ील्ड्स ('n', array ('nid')); $ क्वेरी-> addExpression ('SUM (पसंद)', 'पसंद'); $ क्वेरी-> निष्पादित करें(); – qasimzee

संबंधित मुद्दे