2010-08-26 2 views
2

Вот мое заявление SQLИспользуйте заказ по DESC и ASC с Группировать

SELECT DISTINCT article_categories.category_id, 
    article_id,article_title,article_intro,article_content, 
    category_name_ar 
FROM articles,article_categories 
WHERE articles.category_id=article_categories.category_id 
    AND article_type='admin' 
    AND category_case='active' 
GROUP BY article_categories.category_id 
ORDER BY article_categories.category_id ASC, 
      article_date,article_time DESC 
LIMIT 10 

Я хотел бы получить первые DISTINCT 10 категорий. Кроме того, я хотел бы получить эквивалентные статьи, где articles.category_id равно article_categories.category_id. Пока результат хорош, но я ищу, чтобы заказать результат по category_id и в то же время заказать результат article_date, article_time DESC.

Любая помощь будет оценена заранее

+0

, если я понимаю, что вам нужно: .... article_date DESC, article_time DESC? –

+0

Правильно, и в то же время article_categories.category_id ASC, это ясно для вас? – Hassan

+0

Чтобы сделать его более понятным, я хотел бы заказать результат с помощью category_id ASC. Кроме того, я хотел бы получить последнюю добавленную статью под каждой категорией, используя article_date DESC, article_time DESC – Hassan

ответ

2
SELECT distinct c.category_id,... 
FROM articles a,article_categories c 
WHERE a.category_id=c.category_id 
AND ... 
AND a.article_id in 
(SELECT max(a1.article_id) 
FROM articles a1 
 WHERE a1.category_id=c.category_id) 
ORDER BY c.category_id ASC 

Пожалуйста, замените ... с дополнительными полями и условиями, которые необходимо.

+0

Мне нужно использовать группу, потому что она продолжает повторять категорию_имя_ар, что мне не нужно. То, что я ищу, - это первые десять статей, упорядоченных по категории category_id. Кроме того, последняя добавленная статья под каждой категорией – Hassan

+0

1. Тот факт, что ваш запрос не возвращает то, что вы ожидаете, не означает, что он должен быть разрешен группой. 2. Заказ не может использоваться для получения последних записей. Еще один вопрос: увеличиваете ли вы статью article_id от записи до записи? – spbfox

+0

да я ...... – Hassan

0

только добавить убывание как

ORDER BY article_categories.category_id ASC, 
      article_date DESC,article_time DESC 
+0

Я пробовал, но он все равно дает мне тот же результат – Hassan

+0

вы уверены, что его нужно работать –

1

Я получил его

SELECT DISTINCT article_categories.category_id, 
    article_id,article_title,article_intro,article_content, 
    category_name_ar 
FROM articles,article_categories 
WHERE articles.category_id=article_categories.category_id 
    AND article_type='admin' 
    AND category_case='active' 
ORDER BY article_categories.category_id ASC, 
      article_date desc,article_time DESC 
LIMIT 10 

Спасибо Все ваши советы, это помогло много

Смежные вопросы