Я следующую структуру в после таблицы (пример):Выберите различные результаты из той же таблицы
id | id_author | content | date | ft
1 | 1 | hi! | 2016 | 2
2 | 1 | hello! | 2016 | 3
3 | 1 | welcome | 2016 | 1
4 | 1 | test! | 2016 | 2
и Я query
:
SELECT id, id_author, content, date, ft FROM post where id_author = '$author' ORDER BY id DESC LIMIT 7
Но, также необходимо, чтобы select
сообщений с соответствующими ft
с LIMIT 4
. Как это:
SELECT id, id_author, content, date, ft FROM post where id_author = '$author' and ft = 1 ORDER BY id DESC LIMIT 4
SELECT id, id_author, content, date, ft FROM post where id_author = '$author' and ft = 2 ORDER BY id DESC LIMIT 4
SELECT id, id_author, content, date, ft FROM post where id_author = '$author' and ft = 3 ORDER BY id DESC LIMIT 4
я мог сделать «фильтр» в ft
с foreach
, например:
foreach($query as $ex) {
switch($ex["ft"]) {
...
}
}
Но, мой первый query
нужно иметь LIMIT 7
и querys
realtives в ft
необходимости чтобы выбрать последние 4 результатов из все сообщений.
Как это сделать, не делая кратных querys
?
EDIT:
Мне нужно, чтобы показать последние 7 сообщений (общие) в одном div
, последние 4 сообщения с изображениями (ft = 1
) в другом div
, последние 4 сообщения с упоминаниями (ft = 2
) в другой div
и последние 4 сообщения с hashtags (ft = 3
) в другом div
.
Что делать, если вы используете предложение 'IN'? Например: SELECT id, id_author, content, date, ft FROM post, где id_author = '$ author' и ft IN {1,2,3} ORDER BY id DESC LIMIT 4' Это то, что вы хотите? Дай мне знать. –
Укажите ожидаемый результат. –
Database engine =? – trincot