SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 14/01/2019, 08:47 PM   #1
Mexanizm93
Big Clucker
 
Mexanizm93's Avatar
 
Join Date: Jan 2013
Location: Russia. Voronezh
Posts: 169
Reputation: 6
Question Выборка из бд mysql в заданном направлении

Здравствуйте уважаемые форумчане.
Меня интересует один вопрос, а именно возможно ли указать SELECT в каком направлении выбирать значения ?

К примеру:

Есть числа и они могут быть постоянно разные.
Запрашиваю из бд я их в порядке ORDER BY id числа DESC

20
19
18
17
..
1

и нужно например запросить у бд 5 чисел после 14 по возрастанию, то есть 14,15,16,17,18.

Вопрос - как это сделать ?
Буду заранее благодарен.
__________________
We do not drink vodka every day and do not play the balalaika you think about us. ^_^ © Mexanizm
Mexanizm93 is offline   Reply With Quote
Old 14/01/2019, 09:33 PM   #2
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,470
Reputation: 135
Default Re: Выборка из бд mysql в заданном направлении

Code:
... WHERE id > 13 ORDER BY id ASC
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 15/01/2019, 07:39 PM   #3
Mexanizm93
Big Clucker
 
Mexanizm93's Avatar
 
Join Date: Jan 2013
Location: Russia. Voronezh
Posts: 169
Reputation: 6
Default Re: Выборка из бд mysql в заданном направлении

Quote:
Originally Posted by Stepashka View Post
Code:
... WHERE id > 13 ORDER BY id ASC
Большое спасибо за помощь, но не много не то, что я хотел, хотя близко. Я забыл указать, что нужно выбрать данные отсортировав их именно DESC порядком.
Я составил вложенный запрос на выборку. Теоретически вложенный запрос должен с начало отсортировать в ASC порядке числа и затем главный запрос их должен перевернуть(отсортировать) и показать в DESC с помощью перечисления в IN. Запрос даёт результат выборки от самого большого числа inc_ids в таблице до маленького. Я гуглил, но не нагуглил ничего толкового.

PHP Code:
SELECT inc_ids\
                    
FROM player_notice \
                    
WHERE \
                    `
player_idx` = '1' AND inc_ids IN \
                        (
SELECT inc_ids \
                            
FROM player_notice \
                            
WHERE `player_idx` = '1' AND inc_ids >= '14' \
                            
ORDER BY inc_ids ASC) \
                    
ORDER BY inc_ids DESC \
                    
LIMIT 5 
Должны вывестись столбцы 14 по 18 и быть отсортированы по убыванию.
Грубо говоря я должен получить результат вложенного запроса в IN такого рода IN(14,15,16,17,1


UPD
Разбил запрос на два отдельных и получил нужный результат, но это не выход. Прыжки по функциям. Методом pawn загнал в IN полученные значения.
__________________
We do not drink vodka every day and do not play the balalaika you think about us. ^_^ © Mexanizm

Last edited by Mexanizm93; 15/01/2019 at 08:42 PM.
Mexanizm93 is offline   Reply With Quote
Old 16/01/2019, 06:22 AM   #4
Eims
Huge Clucker
 
Eims's Avatar
 
Join Date: May 2013
Location: Восточный Мордор
Posts: 452
Reputation: 12
Default Re: Выборка из бд mysql в заданном направлении

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

Хотя если задачей является "развернуть" результат, то что мешает сделать это прямо во время его обработки? То бишь:
PHP Code:
new i;
cache_get_row_count(i);
for(
-= 1!= -1i--)
{
    ...

__________________
- How many IT Engineers does it take to fix a broken light bulb?
- None, the light bulb works fine in my office, I cannot replicate the issue.
Eims is offline   Reply With Quote
Old 16/01/2019, 07:28 AM   #5
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,470
Reputation: 135
Default Re: Выборка из бд mysql в заданном направлении

Code:
... WHERE id > 13 ORDER BY id DESC
Code:
SELECT inc_ids\ 
FROM player_notice \ 
WHERE \ 
player_idx=1 AND inc_ids >= 14 \ 
ORDER BY inc_ids DESC \ 
LIMIT 5
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
MySQL Plugin r39-2 Error: Can't connect to local MySQL server through socket Emre__ Scripting Help 10 30/07/2014 09:26 AM
[Tutorial] [VIDEO] MySQL ORM r38: How to pair GM with MySQL & creation of registration/connection system cArnasLT Tutorials 3 19/05/2014 03:08 PM
BlueG MySQL plugin - Failed (plugins/mysql.so: undefined symbol: _Z13stringvprintfPKcPc) linuxthefish Plugin Development 10 13/07/2013 11:56 AM
Как узнать что камера игрока смотрит в направлении персонажа? mastermax7777 Русский/Russian 14 11/02/2013 08:27 PM
[Tool/Web/Other] MySQL DB Manager - Easily manage your MySQL databases with this remote application fiki574 Tools and Files 13 22/07/2012 10:41 AM


All times are GMT. The time now is 10:11 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.