|
Mysql + PHP ограничить количество значений выборки через CASE.
|
|||
---|---|---|---|
#18+
Хочу на Mysql ограничить количество значений выборки через CASE. Допустим, если получили значения по первому условию, то остальные не работают. Через PHP работаю на “mysqli” функциях. Придумал вот такое решение, которое сортирует и проставляет значения рангу ячеек в отдельный столбец. (далее в php нахожу наиболее свежую версию файла, удовлетворяющую условиям) Вариант, наиболее симпатичен с точки зрения работы с php, но результат работы варианта равен пустоте если работать в MYSQL через php. Причём через MYSQL запросы проходят нормально. Где ошибка? Или вообще я не с правильной стороны подошёл к решению вопроса ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Результаты работы через php: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 08:42 |
|
Mysql + PHP ограничить количество значений выборки через CASE.
|
|||
---|---|---|---|
#18+
авторПочему-то пустое значение Потому что переменная не инициализирована, и построитель считает, что её значение является константой и имеет значение NULL. Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 09:51 |
|
Mysql + PHP ограничить количество значений выборки через CASE.
|
|||
---|---|---|---|
#18+
Akina, Спасибо большое заработало. Но есть один нюанс. В ответе на запрос данные, которые выделены относятся к запросу по 14 строке, а результат переменной почему-то проставляется - "4" из 9й строки. Если 9ю строку закомментировать, то количество данных уменьшится до 1го. С чем это может быть связано? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 12:46 |
|
Mysql + PHP ограничить количество значений выборки через CASE.
|
|||
---|---|---|---|
#18+
Делайте fiddle (или хотя бы публикуйте CREATE TABLE + INSERT INTO, форматированным в код текстом) и показывайте требуемый ответ для именно таких данных. Фотографии - это ниачём. Да - укажите ТОЧНУЮ версию MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 15:31 |
|
Mysql + PHP ограничить количество значений выборки через CASE.
|
|||
---|---|---|---|
#18+
использование (и тем более вычисление с присвоением) переменных в части WHERE запросов - крайне НЕ рекомендуется, ибо в каком порядке и как часто оно будет (пере)вычисляться зависит как от версии Скуля, так и от "фазы Луны", в общем "как понравится оптимизатору".. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 16:31 |
|
|
start [/forum/topic.php?fid=47&tid=1828335]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
1ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 278ms |
0 / 0 |