Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В таблице данные через двоеточие
 
 автор: webmastak   (20.08.2009 в 12:37)   письмо автору
 
 

Добрый день, подскажите как грамотно сделать обработку средствами mysql:

Есть таблица новостей, в ней id авторов заносятся в поле a_id через : (пример :3:12:34:), в этой же таблице есть поле views(количество просмотров) и есть таблица авторов.
Задача - выбрать авторов сгруппированных по количеству просмотров их статей в порядке убывания (DESC). Буду признателен за помощь.
Об отдельной связанной таблице не напоминайте :) досталось по наследству, менять ничего нельзя.

  Ответить  
 
 автор: Valick   (20.08.2009 в 13:04)   письмо автору
 
   для: webmastak   (20.08.2009 в 12:37)
 

досталось по наследству, менять ничего нельзя
тогда верните туда откуда взяли, пока Вас не упекли в психушку ;)

  Ответить  
 
 автор: heed   (20.08.2009 в 13:12)   письмо автору
 
   для: webmastak   (20.08.2009 в 12:37)
 

>, менять ничего нельзя.
можно былобы сделать запятые, и использовать FIND_IN_SET()
>пример :3:12:34:
можно использовать LIKE '%:12:%'

но я не знаю будет-ли работать такой запрос ,)
SELECT a.id,  SUM(b.`views`) 
FROM `авторы` a LEFT JOIN `новости` b
ON  b.a_id LIKE CONCAT( '%:', a.`id` , ':%' )
GROUP BY 2 DESC

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования