Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 10.05.2015, 22:25   #1
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1551
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
MySQL: уникальные пары отсортированные по количеству вхождений в таблицу

Сортирую и вывожу уникальные пары в двух столбцах так:

$st = mysql_query("SELECT Dy,At FROM ute GROUP BY Dy,At ORDER BY id_ute DESC LIMIT 8")


А как, чтобы выводило уникальные пары слов (под каждое слово своё поле), начиная с тех которых встречается в таблице больше всего, в порядке убывания?

Короче, уникальные пары отсортированные по количеству вхождений в таблицу?

Помогите пожалуйста!
Port_Artur вне форума   Ответить с цитированием
Старый 10.05.2015, 23:55   #2
 
Регистрация: 26.04.2012
Сообщений: 4,066
Доменные сделки: 47
Реноме: 2358
Одобрения
Спасибо (Отдано): 1370
Спасибо (Получено): 1551
Отправить сообщение для ekubachev с помощью ICQ Отправить сообщение для ekubachev с помощью Skype™
Используйте COUNT()
ekubachev вне форума   Ответить с цитированием
Старый 11.05.2015, 00:38   #3
SEO Специалист
 
Аватар для pastuhoff
 
Регистрация: 24.10.2005
Сообщений: 6,529
Доменные сделки: 40
Реноме: 5358
Одобрения
Спасибо (Отдано): 187
Спасибо (Получено): 315
Немного подзабыл уже sql, но вроде так должно сработать:
SELECT Dy,At FROM ute GROUP BY Dy,At ORDER BY COUNT(*) DESC LIMIT 8
__________________
Коллекционер доменных имен.
pastuhoff вне форума   Ответить с цитированием
Старый 11.05.2015, 00:57   #4
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1551
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
Кто-там забыл, - спасибо, всё отлично работает.

Вопрос №2, как сделать точно такой же запрос, но с выборкой :
- за последний месяц,
- за последнюю неделю.

какое поле нужно для времени (в смысле тип), при необходимости сделаем. Лучше было бы если бы воспользоваться тем что есть, а есть просто поле (Varchar 250) со значениями типа 19.06.2015

Сообщение от ekubachev Посмотреть сообщение
Используйте COUNT()
Знал что его нужно, но не знал куда его впихнуть

Последний раз редактировалось Port_Artur; 11.05.2015 в 00:59.
Port_Artur вне форума   Ответить с цитированием
Старый 11.05.2015, 01:15   #5
 
Регистрация: 26.04.2012
Сообщений: 4,066
Доменные сделки: 47
Реноме: 2358
Одобрения
Спасибо (Отдано): 1370
Спасибо (Получено): 1551
Отправить сообщение для ekubachev с помощью ICQ Отправить сообщение для ekubachev с помощью Skype™
Время лучше из варчара перевести в date, time или timestamp
Затем выбирать по этому полю через between или now() - interval x day
ekubachev вне форума   Ответить с цитированием
Старый 11.05.2015, 01:21   #6
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1551
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
Лучше пример, на основе того что написал pastuhoff, предположим что это поле времени есть и оно "Tim"

Последний раз редактировалось Port_Artur; 11.05.2015 в 01:24.
Port_Artur вне форума   Ответить с цитированием
Старый 11.05.2015, 01:27   #7
 
Регистрация: 26.04.2012
Сообщений: 4,066
Доменные сделки: 47
Реноме: 2358
Одобрения
Спасибо (Отдано): 1370
Спасибо (Получено): 1551
Отправить сообщение для ekubachev с помощью ICQ Отправить сообщение для ekubachev с помощью Skype™
SELECT Dy,At FROM ute WHERE date > NOW() - INTERVAL 7 DAY GROUP BY Dy,At ORDER BY COUNT(*) DESC LIMIT 8
ekubachev вне форума   Ответить с цитированием
Старый 11.05.2015, 01:44   #8
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1551
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
Спасибо, завтра переведу поле в DATE , попробую.
Port_Artur вне форума   Ответить с цитированием
Старый 28.07.2015, 00:14   #9
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,495
Доменные сделки: 24
Реноме: 1551
Одобрения
Спасибо (Отдано): 529
Спасибо (Получено): 750
Отправить сообщение для Port_Artur с помощью ICQ
нашёл запрос, написано было что за предыдущий месяц:

 
where real_time > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
AND real_time < DATE_ADD(LAST_DAY(CURDATE() - INTERVAL 1 MONTH), INTERVAL 1 DAY)
Сейчас июль, значит это за июнь, так?

добавлено через 13 минут
И вот такую:
 
WHERE `datetime` > LAST_DAY( DATE_SUB( CURDATE( ) , INTERVAL 2 MONTH ) ) + INTERVAL 1 DAY
AND `datetime` < DATE_ADD( LAST_DAY( CURDATE( ) - INTERVAL 1 MONTH ) , INTERVAL 1 DAY )
Какая из двух правильная?

Последний раз редактировалось Port_Artur; 28.07.2015 в 00:28. Причина: Добавлено сообщение
Port_Artur вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:03. Часовой пояс GMT +4.