Mysql का उपयोग करके चर में क्वेरी परिणाम कैसे संग्रहीत करें


90
SET @v1 := SELECT COUNT(*) FROM user_rating;
SELECT @v1

जब मैं इस क्वेरी को setचर के साथ निष्पादित करता हूं तो यह त्रुटि दिखाई जाती है।

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near 'SELECT count(*) FROM user_rating' at line 1

Execution Time : 00:00:00:000
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:000

(1 row(s) returned)
Execution Time : 00:00:00:343
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:343

जवाबों:


146

चारों ओर जो कोष्ठक के साथ चयन करें।

SET @v1 := (SELECT COUNT(*) FROM user_rating);
SELECT @v1;

12
क्या उस उप क्वेरी में केवल 1 पंक्ति और 1 कॉलम होना चाहिए? 1. #1242 - Subquery returns more than 1 row , 2.#1241 - Operand should contain 1 column(s)
शफीज़ादेह

1
@ रजतगुप्त: आप इसे कहाँ चला रहे हैं? और "काम नहीं" को परिभाषित करें।
सर्जियो तुलेंत्सेव

2
@ शफ़िज़ादेह: हाँ, कि उपश्रेणी को केवल एक पंक्ति और स्तंभ लौटाना चाहिए
सर्जियो तुलेंत्सेव

मेरे लिए काम नहीं करता है, phpmyadmin mysql पर कोशिश की। एक त्रुटि यह कहते हुए दिखाई देती है "एक नया निर्देश पाया गया था, लेकिन इसके और पिछले के बीच कोई सीमांकक नहीं है" (जर्मन से अनुवादित)।
ब्लैक

1
ऐसा लगता है कि वापसी का मूल्य एक होना चाहिए, मूल्यों की सूची नहीं
विक्टर एस

34

साथ ही, आप एक क्वेरी से एक साथ कई चर सेट करना चाहते हैं, तो आप अन्य वाक्य रचना चर जो इस प्रकार है स्थापित करने के लिए उपयोग कर सकते हैं: SELECT @varname:=value

एक व्यावहारिक उदाहरण:

SELECT @total_count:=COUNT(*), @total_price:=SUM(quantity*price) FROM items ...

8

इसे इस्तेमाल करो

 SELECT weight INTO @x FROM p_status where tcount=['value'] LIMIT 1;

परीक्षण किया और ठीक काम ...


[]इस कथन में कोष्ठक का क्या अर्थ है?
अमीन

कुछ भी नहीं यह सिर्फ एक प्लेसहोल्डर स्किप है [] और सिर्फ एक उद्धरण में अपना मूल्य रखें
अमन मौर्य

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.