2012-04-28 24 views
16

Olası Çoğalt belirleyin:
every derived table must have its own aliassayısından max()()

Ben kullanıcı başına eylemlerin maksimum bulmalıyız

tablo sütunları: action_id, action_status, user

istek:

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

hata iletisi:? Neyin yanlış olduğunu

"Her türetilmiş tablo, kendi takma adına sahip olmalı" .. sadece MySQL sen gibi bir isim iç SELECT vermek konusunda ısrar demektir

+0

Bir dahaki sefere zaten varolan bir yanıt için Stack Overflow'u arayın. – kapa

+1

evet, yinelenen ... Bir dahaki sefere daha dikkatli olacağım – Zdomb

cevap

25

:

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

omg ... gibi küçük değişiklikler ... thx! – Zdomb

+1

Eğer satır durumunu da seçerseniz, bu doğru olmaz: 'maksimum (sayıldı) seçimini yapın, durumdan (sayım olarak sayımı (*) seçin, durum ...' çalışmaz ... alan "durumu "Doğru olmayacak. Bunu nasıl düzelteceğimi gerçekten bilmiyorum – Bengalaa