Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вывести поля, где count(*) больше всего / 9 сообщений из 9, страница 1 из 1
27.10.2003, 14:15
    #32306135
Arisha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
Ребята, помогите!
Как можно вывести значения полей из таблицы, при которых count является максимальным значением?

Конкрентнее так:

Код: plaintext
select a,b,count(*) from my_table where ... group by a,b;


Потом в цикле нахожу максимальное значение $max, а теперь мне нужно получить те a,b, при которых $max.


Arisha
...
Рейтинг: 0 / 0
27.10.2003, 14:37
    #32306183
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
Может - так:
select a,b,count(*) AS CNT from my_table where ... group by a,b ORDER BY CNT LIMIT 1
...
Рейтинг: 0 / 0
27.10.2003, 14:42
    #32306194
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
select a,b,count(*) AS CNT from my_table where ... group by a,b ORDER BY CNT DESC LIMIT 1
...
Рейтинг: 0 / 0
27.10.2003, 15:01
    #32306226
Arisha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
BigHarry, мне нужно вывести такие a,b, где count самый большой

Например, я получила

a1 b1 31
a2 b2 12
a3 b3 0
...

Вот так я получаю это наибольшее значение:
Код: plaintext
1.
$max= 0 ;
while (t=mysql_fetch_array($result)) ($t>$max ? $max=$t : $max)
...
Рейтинг: 0 / 0
27.10.2003, 15:03
    #32306230
Arisha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
автор писал:select a,b,count(*) AS CNT from my_table where ... group by a,b ORDER BY CNT DESC LIMIT 1

Аа, дошло! Спасибо, сейчас попробую! :)
...
Рейтинг: 0 / 0
27.10.2003, 15:06
    #32306238
Arisha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
Хмм, а если у меня таких максимальных значений несколько и мне нужно их вывести?
...
Рейтинг: 0 / 0
27.10.2003, 15:17
    #32306255
Arisha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
А если попробовать так:

Код: plaintext
SELECT a,b,count(*) AS cnt FROM my_table WHERE ... GRUOP BY a,b ORDER BY CNT DESC LIMIT  5 


А потом проверю есть ли повторяющиеся?
...
Рейтинг: 0 / 0
27.10.2003, 16:00
    #32306325
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
тады самое простое - наверно двумя запросами. Первым получаем самое максимальное:
$max = select count(*) AS CNT from my_table where ... group by a,b ORDER BY CNT DESC LIMIT 1

вторым - только все максимальные:

select a,b,count(*) AS CNT from my_table where ... group by a,b HAVING CNT=$max
...
Рейтинг: 0 / 0
27.10.2003, 20:34
    #32306770
Arisha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывести поля, где count(*) больше всего
А если мне нужно получать из цикла некоторые значения для условия выборки, то уже нельзя так сделать - ведь при каждом вхождении в цикл выдается один основной результат... Как же сделать?
автор писал:Первым получаем самое максимальное:
Код: plaintext
$max = select count(*) AS CNT from my_table where ... group by a,b ORDER BY CNT DESC LIMIT  1  

вторым - только все максимальные:
[/SRC]select a,b,count(*) AS CNT from my_table where ... group by a,b HAVING CNT=$max[/SRC]


Код: plaintext
1.
2.
3.
$query1 =  "select a,b from my_table where user_id='$user[user_id]' and duty='0'" ;
$result1 = mysql_query($query1,$link)or die( "Unable to query" );
while ($row = mysql_fetch_array($result1))...


А потом мне нужно выбрать наибольшее кол-во юзеров, у которых
Код: plaintext
user_id!='$user[user_id]' & duty='0' & a= $row[ 0 ] & b=$row[ 1 ]

и получить a,b при самом большом кол-ве....

Подскажите, пожалуйста, как это сделать!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вывести поля, где count(*) больше всего / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]