2012-04-28 10 views
16

संभव डुप्लिकेट का चयन करें:
every derived table must have its own aliasगिनती से अधिकतम()()

मैं प्रति उपयोगकर्ता कार्यों की अधिकतम खोजने की जरूरत है

तालिका स्तंभ: action_id, action_status, user

अनुरोध:

SELECT MAX(`counted`) FROM 
(
SELECT COUNT(*) AS `counted` 
FROM `table_actions` 
WHERE `status` = "good" 
GROUP BY `user` 
) 

त्रुटि संदेश:

"हर ली गई तालिका का अपना उर्फ ​​होना चाहिए" क्या गलत है ..

+0

अगली बार कृपया पहले से मौजूद उत्तर के लिए स्टैक ओवरफ़्लो खोजें। – kapa

+1

हाँ, डुप्लिकेट ... अगली बार मैं अधिक चौकस – Zdomb

उत्तर

25

कि सिर्फ MySQL का कहना है कि आप आंतरिक SELECT एक नाम देना, जैसे मतलब है? :

SELECT MAX(counted) FROM 
(
    SELECT COUNT(*) AS counted 
    FROM table_actions 
    WHERE status = "good" 
    GROUP BY user 
) AS counts; 
+0

omg होगा ... इस तरह के छोटे बदलाव ... thx! – Zdomb

+1

यदि आप पंक्ति की स्थिति भी चुनते हैं, तो यह सटीक नहीं होगा: 'अधिकतम (गिनती) का चयन करें, गिनती के रूप में चयन करें (*), स्थिति ...' काम नहीं करेगा ... फ़ील्ड "स्थिति "सटीक नहीं होगा। मुझे वास्तव में यह नहीं पता कि इसे कैसे ठीक किया जाए – Bengalaa

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