মাইএসকিএল ব্যবহার করে কীভাবে ফলাফল ফলাফল সংরক্ষণ করতে হবে able


92
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

উত্তর:


149

চারপাশে যে প্রথম বন্ধনী নির্বাচন করুন।

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)
— শাফিজাাদেহ

4
@ রাজতগুপ্ত: আপনি কোথায় এটি চালাচ্ছেন? এবং "কাজ না করা" সংজ্ঞায়িত করুন।
— সেরজিও টুলেন্টসেভ

4
@ শাফিজাদেহ: হ্যাঁ, এই উপকণায় কেবল একটি সারি এবং কলাম ফিরে আসা উচিত
— সার্জিও টুলেন্টসেভ

4
@ ব্ল্যাক: সম্ভবত, অন্যান্য উত্তরগুলির কয়েকটি কার্যকর হবে।
— সেরজিও টুলেন্টেসেভ

4
দেখে মনে হচ্ছে যে রিটার্নের মানটি একটি হতে হবে, মানগুলির তালিকা নয়
— ভিক্টর এস

35

উপরন্তু, আপনি এক ক্যোয়ারী দ্বারা একযোগে একাধিক ভেরিয়েবল সেট করতে চান তাহলে, আপনি অন্য সিনট্যাক্স ভেরিয়েবল যা ভালো যায় সেট করার জন্য ব্যবহার করতে পারেন: 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;

পরীক্ষিত এবং ঠিক কাজ করে ...


[]এই বিবৃতিতে বন্ধনীগুলির অর্থ কী ?
— আমিন

কিছুই নয় এটি কেবল কোনও স্থানধারক এড়িয়ে যান [] এবং আপনার মানটি একক উদ্ধৃতিতে রাখুন
— আমান মৌর্য

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.