|
|
|
| Добрый день, подскажите как грамотно сделать обработку средствами mysql:
Есть таблица новостей, в ней id авторов заносятся в поле a_id через : (пример :3:12:34:), в этой же таблице есть поле views(количество просмотров) и есть таблица авторов.
Задача - выбрать авторов сгруппированных по количеству просмотров их статей в порядке убывания (DESC). Буду признателен за помощь.
Об отдельной связанной таблице не напоминайте :) досталось по наследству, менять ничего нельзя. | |
|
|
|
|
|
|
|
для: webmastak
(20.08.2009 в 12:37)
| | досталось по наследству, менять ничего нельзя
тогда верните туда откуда взяли, пока Вас не упекли в психушку ;) | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|