Как отсортировать SQL-запрос без первичного ключа? - PullRequest
1 голос
/ 30 апреля 2011

У меня есть таблица под названием article_tags, которая имеет два столбца:

  • article_id
  • tag_id

(ассоциация has_and_belongs_to_many) (я реализовал это с помощью php)

Я хочу найти последний article_id, который вошел в БД, поэтому я попытался сделать:

SELECT `article_id` FROM `articles_tags`  ORDER BY `article_id` DESC LIMIT 1

Первая проблема в том, что я не хочу сортировать по article_id, а во-вторых, она не работает.

Я думаю, потому что у меня нет первичного ключа в этой таблице.

Ответы [ 2 ]

3 голосов
/ 30 апреля 2011

Достаточно простого МАКСА:

select max(article_id) from articles_tags

ОБНОВЛЕНИЕ:

Чтобы получить статью с последним тегом:

select article_id from articles_tags where tag_id = 
  (select max(tag_id) from articles_tags)
2 голосов
/ 30 апреля 2011

Вам нужен дополнительный столбец ... либо автоматически сгенерированный номер, либо поле DaytIme. Тогда вы можете сортировать. В противном случае вы никогда не сможете получить правильную запись.

Обновление: не обязательно должно быть поле id

...