2012-05-25 27 views
5

Bir alandaki en yaygın sayıyı tükürmek üzere bir MYSql deyimi almaya çalışıyorum. COUNT(QUANTITY) kullanmam gerektiğine inanıyorum ama GROUP BY ve ORDER BY için kafam karıştı, doğru MODE (En yaygın sayı) almak için görünmüyor olabilir. İşte *MYSQL SELECT deyimindeki en yaygın numara

* DÜZENLEME örnek bir tablodur:

QUANTITY | ORDER_NUMBER 
    1   51541 
    4   12351 
    5   11361 
    5   12356 
    6   12565 
    8   51424 
    10  51445 
    25  51485 

en sık

cevap

4
göründüğü için MySQL deyimi numarasını dışarı tüküreceksin
SELECT QUANTITY,COUNT(*) 
FROM ... 
GROUP BY 1 
ORDER BY 2 DESC 
LIMIT 1; 
+0

Ben hepsini denedim ve bu bana tam olarak istediğim şeyi aldım, sadece 1 numara gösteriliyor, bu yukarıdaki örnekten dolayı ** 5 **. – ToddN

2
SELECT ORDER_NUMBER AS ORDER, COUNT(QUANTITY) as numorders 
FROM table 
GROUP BY ORDER_NUMBER 
ORDER BY numorders 
+0

anlayabilirsiniz böylece gerçek sayısını içerecek şekilde unuttum yapmak olsun Bu en popüler numara ne ... –

+0

Evet, ekledi teşekkür ederim. – aleroot

1

ilk 10 order_number s

select order_number, count(order_number) as quantity 
from your_table 
group by order_number 
order by quantity desc 
limit 10 
0
SELECT QUANTITY, COUNT(QUANTITY) AS TOTAL_Q 
FROM MYTABLE 
GROUP BY QUANTITY 
ORDER BY TOTAL_Q DESC 

bu az sayıda çoğundan size quanity sayısını verecektir ....