Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860

Запрос на извлечение данных из mysql за последний месяц или выбранный срок

25.03.2022, 19:31. Показов 1974. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста конструкцию запроса select для извлечения данных из mysql за последний месяц или выбранный срок, с параллельным условием - если результатов за последний месяц или выбранный срок менее 5 то извлечься должны будут записи ближайшие к указанному сроку по временному рейтингу.

Есть таблица 'clothes' и колонка в ней с наименованием 'DATETIME'.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.03.2022, 19:31
Ответы с готовыми решениями:

Получить перечень автомобилей планируемых к осмотру в выбранный месяц/выбранный год...
Доброго времени суток, Товарищи! Имеется база (создана в DatabaseDesktop). Есть две таблицы 'to' и 'osmotr' связаны по полю 'id_to'. В...

Запрос с датой, последний месяц
Здравствуйте. Имеются в наличии таблицы 1. Клиент, поля: ФИО, Город(id), Общая сумма покупок 2. Города (справочник), поля: Название...

Сделать запрос:Вывести информацию о поступивших деньгах за последний месяц
Вывести информацию о поступивших деньгах за последний месяц на счет, номер которого задан пользователем в режиме диалога. БД...

8
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
25.03.2022, 19:46
Цитата Сообщение от xamelione25 Посмотреть сообщение
из mysql за последний месяц или выбранный срок
SQL
1
WHERE `datefield` BETWEEN 'start-date' AND 'end-date'
Цитата Сообщение от xamelione25 Посмотреть сообщение
с параллельным условием - если результатов за последний месяц или выбранный срок менее 5 то извлечься должны будут записи ближайшие к указанному сроку по временному рейтингу.
Это проще двумя запросами сделать, это точно нужно на mysql одним запросом? Можно, но будет муторно
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
25.03.2022, 20:00  [ТС]
crautcher, я пишу интернет-магазин (И-М), вяжу сейчас все с БД.
Кликните здесь для просмотра всего текста
PHP
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
$host = 'localhost';
$user = 'svetik000_adssv';
$pass = 'q1w2e3r4t5Y^U&I*O(P)';
$db_name = 'svetik000_adssv';
$link = mysqli_connect($host, $user, $pass, $db_name) or die("Could not connect: " . mysql_error());
 
//новые поступления
$sql_1 = "SELECT * FROM `clothes`"; 
$result_1 = mysqli_query($link, $sql_1);
$row_1 = mysqli_fetch_array($result_1, $i=0);
 
//наиболее продаваемые товары
$sql_2 = "SELECT * FROM `clothes`"; 
$result_2 = mysqli_query($link, $sql_2);
$row_2 = mysqli_fetch_array($result_2, $i=0);
 
$content='
<!DOCTYPE html>
<html lang="zxx">
...
...
...
    </section>
    <!-- Hero section end -->
 
    <!-- 1 letest product section -->
    <section class="top-letest-product-section">
        <div class="container">
            <div class="section-title">
                <h2>Новые поступления</h2>
            </div>
            <div class="product-slider owl-carousel">';
echo $content;
            while ($row_1 = mysqli_fetch_assoc($result_1))
            {
                echo '<div class="product-item">';
                    echo '<div class="pi-pic">';
                        echo "<img src='" . $row_1['name_img'] . "' alt='' />";
                        echo '<div class="pi-links">';
                           echo '<a href="#" class="add-card"><i class="flaticon-bag"></i><span>ADD TO CART</span></a>';
                            echo '<a href="#" class="wishlist-btn"><i class="flaticon-heart"></i></a>';
                        echo '</div>';
                    echo '</div>';
                    echo '<div class="pi-text">';
                        echo "<h6>" . $row_1['Price'] . "</h6>";
                        echo "<p>" . $row_1['Name_clothes'] . "</p>";
                    echo '</div>';
                echo '</div>';  
            }
            $content = '
            </div>
        </div>
    </section>
    <!-- 1 letest product section end -->
 
    <!-- 2 letest product section -->
    <section class="top-letest-product-section">
        <div class="container">
            <div class="section-title">
                <h2>Наиболее продаваемые товары</h2>
            </div>
            <div class="product-slider owl-carousel">';
echo $content;
            while ($row_2 = mysqli_fetch_assoc($result_2))
            {
                echo '<div class="product-item">';
                    echo '<div class="pi-pic">';
                        echo "<img src='" . $row_2['name_img'] . "' alt='' />";
                        echo '<div class="pi-links">';
                           echo '<a href="#" class="add-card"><i class="flaticon-bag"></i><span>ADD TO CART</span></a>';
                            echo '<a href="#" class="wishlist-btn"><i class="flaticon-heart"></i></a>';
                        echo '</div>';
                    echo '</div>';
                    echo '<div class="pi-text">';
                        echo "<h6>" . $row_2['Price'] . "</h6>";
                        echo "<p>" . $row_2['Name_clothes'] . "</p>";
                    echo '</div>';
                echo '</div>';  
            }
            $content = '
            </div>
        </div>
    </section>
    <!-- 2 letest product section end -->


У меня сейчас 3 стопорных момента:
1. Мне нужно чтобы в блоке "1 letest product section end", где обозначены новые поступления, было то что я написал в 1м посте этой темы;
2. Мне нужно будет сделать аналогичный, как я описал выше запрос для рейтинга продаж (блок "2 letest product section end"). Я это сделаю немного позже когда буду делать админовскую страницу, где буду insert'ы, update'ы и delete'ы делать для обеспечения соответствующих возможностей админу И-М.
3. Не знаю как избавиться от синтаксического слов "echo". Не могу понять, как мне его убрать - тем самым вынести его как общий знаменатель за скобку, чтобы не писать в каждой строке.

Добавлено через 2 минуты
crautcher,
Цитата Сообщение от crautcher Посмотреть сообщение
Это проще двумя запросами сделать, это точно нужно на mysql одним запросом? Можно, но будет муторно
Может это и будет проще сделать иным каким-нибудь образом, но я не знаю. Как мог - так и описал свои мысли))).

Добавлено через 29 секунд
crautcher, http://stok-price-shop.ru/
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
25.03.2022, 20:08
Цитата Сообщение от xamelione25 Посмотреть сообщение
2. Мне нужно будет сделать аналогичный, как я описал выше запрос для рейтинга продаж
Ну тут, как я сказал, проще 2 запроса. Вернее, делаем первый запрос, тупо по периоду через BETWEEN. Получаем результат, на php смотрим, если записей меньше 5ти, делаем второй запрос.

Цитата Сообщение от xamelione25 Посмотреть сообщение
3. Не знаю как избавиться от синтаксического слов "echo". Не могу понять, как мне его убрать - тем самым вынести его как общий знаменатель за скобку, чтобы не писать в каждой строке.
Буффер есть, он может облегчить жизнь
PHP
1
2
3
4
5
6
7
8
9
<?php
 
$a = 123;
ob_start();
?>
    <p>some html</p>
    <p><?= $a ?></p>
<?php
$out = ob_get_clean(); //html in var
https://www.php.net/manual/ru/... -clean.php

Добавлено через 2 минуты
Цитата Сообщение от xamelione25 Посмотреть сообщение
PHP
1
echo $content;
Вот эту часть не убидел. Тогда забудь про буфер. Тупо закрой пхп тэг и рисуй верстку, далее открой, где нужно. Также проще и читабельнее
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
25.03.2022, 20:10  [ТС]
crautcher, если честно - не сильно въехал в код)))

итд итп

пжл моежте на моем фрагменте кода показать? Я туплю)
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
25.03.2022, 20:14
Твой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
...
$content='
<!DOCTYPE html>
<html lang="zxx">
...
...
...
    </section>
    <!-- Hero section end -->
 
    <!-- 1 letest product section -->
    <section class="top-letest-product-section">
        <div class="container">
            <div class="section-title">
                <h2>Новые поступления</h2>
            </div>
            <div class="product-slider owl-carousel">';
echo $content;
            while ($row_1 = mysqli_fetch_assoc($result_1)) .. .
Мой код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
...
?>
<!DOCTYPE html>
    <html lang="zxx">
    ...
    ...
    ...
    </section>
    <!-- Hero section end -->
 
    <!-- 1 letest product section -->
    <section class="top-letest-product-section">
        <div class="container">
            <div class="section-title">
                <h2>Новые поступления</h2>
            </div>
            <div class="product-slider owl-carousel">
<?php while ($row_1 = mysqli_fetch_assoc($result_1)) ...
Вместо echo закрываешь php тэг. Его можно и нужно закрывать, когда работаешь с html, вместо echo
1
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
26.03.2022, 00:32  [ТС]
crautcher, а как будет выглядеть запрос (после проверки на количество если будет менее 5), в котором мне нужно будет для начала определить количество имеющихся записей соответствующих периоду (последнего месяца к примеру), а потом надобавлять список товарами до минимального требуемого количества = 5 (по временному фильтру).

Добавлено через 1 час 28 минут
crautcher, я попытался сделать такой запрос
MySQL
1
SELECT COUNT(*) FROM clothes WHERE `DATETIME` BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 MONTH)
или
MySQL
1
SELECT COUNT(*) FROM clothes WHERE `DATETIME` BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL -1 MONTH)
везде показывает COUNT(*) 0
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
26.03.2022, 13:38  [ТС]
crautcher, Все получилось!
MySQL
1
SELECT COUNT(*) FROM clothes WHERE `DATETIME` <= NOW() AND `DATETIME` >= DATE_SUB(NOW(), INTERVAL -1 MONTH)
спсь
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
26.03.2022, 22:34  [ТС]
crautcher, Подскажите а почему у меня не появляется результат на странице, если я делаю запрос через php
PHP
1
2
3
4
$N_sql_1 = "SELECT COUNT(*) FROM clothes WHERE `DATETIME` <= NOW() AND `DATETIME` >= DATE_SUB(NOW(), INTERVAL -1 MONTH)";
$N_result_1 = mysqli_query($N_sql_1);
$N_row_1 = mysqli_fetch_array($N_result_1);
echo "<h6>" . $N_row_1['COUNT(*)'] . "</h6>";
если я делаю запрос в phpmyadmin, то у меня все нормально с результатов по этому запросу
MySQL
1
SELECT COUNT(*) FROM clothes WHERE `DATETIME` <= NOW() AND `DATETIME` >= DATE_SUB(NOW(), INTERVAL -1 MONTH)
Добавлено через 7 минут
crautcher, чувствую что-то я неправильно в 4ой строке приписываю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2022, 22:34
Помогаю со студенческими работами здесь

Создать sql запрос: Вывод названия товаров, которые продавались за последний месяц
Добрый день! Помогите пожалуйста с sql запросами. Дайте примеры пожалуйста. Базы нет. Помогите чем сможете. Спасибо большое! 5. Вывод...

Срок хранения данных MySQL
Суть такая, что при занесении данных в таблицу, значение &quot;Дата&quot; формируется автоматически, так как значение по-умолчанию стоит...

mysql запрос на месяц, время и количество
Нужно определить, кто приходил с 8 до 9 больше 3-x раз за месяц. http://s53.***********/i140/1305/ce/246f2be55812.png название базы dva ...

Подскажите пожалуйста с запросом по данных за последний месяц
Подскажите пожалуйста, я новичок в .в курсовой работе нужно вывести данные за последний месяц.... WHERE format(,&quot;mm.yyyy&quot;) =...

Сформировать отчет об ошибках базы данных за последний месяц
Как такое получить ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru