Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка для определенного дня недели за месяц DAYNAME() / 4 сообщений из 4, страница 1 из 1
19.12.2017, 18:08
    #39572217
ss777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка для определенного дня недели за месяц DAYNAME()
Доброго времени суток, подзабыл mysql сейчас не могу сообразить, как сформировать запрос, который вернет значения за указанный период по конкретным дням недели до определенного времени (до 12-ти часов дня).

Есть такая функция DAYNAME()

Например:
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT DAYNAME('2017-12-19');
+-----------------------+
| DAYNAME('2017-12-19') |
+-----------------------+
| Tuesday               |
+-----------------------+
1 row in set



Получается, что через эту функцию нужно прогнать всю таблицу содержащую поле 'datetime' за определенный период и обработать те строки, которые будут удовлетворять условию, что день например Tuesday .

Подскажите, как это сделать?
...
Рейтинг: 0 / 0
19.12.2017, 19:20
    #39572250
ss777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка для определенного дня недели за месяц DAYNAME()
Накалякал кое-что. Как я понимаю, я делаю выборку с начала года по всем дням недели в промежутке времени с 9:00 часов 12:00 и считаю все записи где встречается строка ENTERQUEUE в поле EVENT. Правильно я понимаю?
Код: sql
1.
SELECT MONTHNAME(time), DAYNAME(time), COUNT(time) from queue_log_copy WHERE time > '2017-01-01' and TIME(time) > '09:00:00' and TIME(time) < '12:00:00' and event = "ENTERQUEUE" GROUP BY MONTH(time), DAYOFWEEK(time);


Результат
Код: 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.
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.
86.
87.
88.
89.
+-----------------+---------------+-------------+
| MONTHNAME(time) | DAYNAME(time) | COUNT(time) |
+-----------------+---------------+-------------+
| January         | Sunday        |          97 |
| January         | Monday        |         171 |
| January         | Tuesday       |         145 |
| January         | Wednesday     |         138 |
| January         | Thursday      |         121 |
| January         | Friday        |         117 |
| January         | Saturday      |          98 |
| February        | Sunday        |         144 |
| February        | Monday        |         105 |
| February        | Tuesday       |         113 |
| February        | Wednesday     |         143 |
| February        | Thursday      |         109 |
| February        | Friday        |         115 |
| February        | Saturday      |         132 |
| March           | Sunday        |         106 |
| March           | Monday        |         129 |
| March           | Tuesday       |         120 |
| March           | Wednesday     |         141 |
| March           | Thursday      |         141 |
| March           | Friday        |         173 |
| March           | Saturday      |         134 |
| April           | Sunday        |         134 |
| April           | Monday        |         137 |
| April           | Tuesday       |         103 |
| April           | Wednesday     |         135 |
| April           | Thursday      |         149 |
| April           | Friday        |         124 |
| April           | Saturday      |         175 |
| May             | Sunday        |          99 |
| May             | Monday        |         172 |
| May             | Tuesday       |         114 |
| May             | Wednesday     |         152 |
| May             | Thursday      |         112 |
| May             | Friday        |         106 |
| May             | Saturday      |         111 |
| June            | Sunday        |         114 |
| June            | Monday        |         128 |
| June            | Tuesday       |         164 |
| June            | Wednesday     |         163 |
| June            | Thursday      |         185 |
| June            | Friday        |         147 |
| June            | Saturday      |         128 |
| July            | Sunday        |         126 |
| July            | Monday        |         162 |
| July            | Tuesday       |         112 |
| July            | Wednesday     |         136 |
| July            | Thursday      |         111 |
| July            | Friday        |         118 |
| July            | Saturday      |         152 |
| August          | Sunday        |         100 |
| August          | Monday        |         122 |
| August          | Tuesday       |         149 |
| August          | Wednesday     |         174 |
| August          | Thursday      |         147 |
| August          | Friday        |         126 |
| August          | Saturday      |         108 |
| September       | Sunday        |          94 |
| September       | Monday        |         122 |
| September       | Tuesday       |         197 |
| September       | Wednesday     |         160 |
| September       | Thursday      |         121 |
| September       | Friday        |         142 |
| September       | Saturday      |         150 |
| October         | Sunday        |         134 |
| October         | Monday        |         146 |
| October         | Tuesday       |         176 |
| October         | Wednesday     |         114 |
| October         | Thursday      |         127 |
| October         | Friday        |         112 |
| October         | Saturday      |         133 |
| November        | Sunday        |          96 |
| November        | Monday        |         103 |
| November        | Tuesday       |          82 |
| November        | Wednesday     |         145 |
| November        | Thursday      |         147 |
| November        | Friday        |         103 |
| November        | Saturday      |         122 |
| December        | Sunday        |          71 |
| December        | Monday        |          68 |
| December        | Tuesday       |          75 |
| December        | Wednesday     |          44 |
| December        | Thursday      |          38 |
| December        | Friday        |          84 |
| December        | Saturday      |          65 |
+-----------------+---------------+-------------+
84 rows in set



Правильно ли я делаю или что-то не так? )
...
Рейтинг: 0 / 0
19.12.2017, 20:48
    #39572280
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка для определенного дня недели за месяц DAYNAME()
Делать тебе нефиг - сперва получать стринг, а потом ещё по нему группить... есть же и DAYOFWEEK(), и WEEKDAY()...
...
Рейтинг: 0 / 0
19.12.2017, 20:49
    #39572282
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка для определенного дня недели за месяц DAYNAME()
ss777выборку с начала года по всем дням недели в промежутке времени с 9:00 часов
Тогда почему неравенство СТРОГОЕ?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка для определенного дня недели за месяц DAYNAME() / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]