Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
всем привет! у меня есть такая таблица: авторcreate table main (x date, y int, z char); insert into main values('20190301', 3, 'c'); insert into main values('20190310', 7, 'a'); insert into main values('20190320', 9, 'a'); insert into main values('20190402', 11, 'a'); insert into main values('20190411', 4, 'a'); insert into main values('20190411', 5, 'a'); insert into main values('20190415', 5, 'b'); insert into main values('20190421', 9, 'a'); insert into main values('20190421', 10, 'b'); insert into main values('20190421', 5, 'a'); insert into main values('20190428', 15, 'a'); insert into main values('20190501', 7, 'b'); select x,y,z from main; есть к ней параметры на вход: две даты(20190401, 20190430) и значение 'a' по этим параметрам хотелось бы написать селект к таблице, который бы вывел по выборке: 1. количество дней, по которым есть записи(параметр x): 4 2. количество записей: 8 3. сумму параметра z по всем записям: 65 4. последний день, в который есть запись(параметр x): '20190428' p.s. задача выглядит просто, но я не совсем понимаю, эта задача сложная или простая(в случае, если сложная, не знаю, насколько правильно ее сюда выкладывать и просить её решить), но сам с ней сижу сегодня полдня, у меня не получается пока ее сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 18:41 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
qrp181. количество дней, по которым есть записи(параметр x): 4 2. количество записей: 8 3. сумму параметра z по всем записям: 65 4. последний день, в который есть запись(параметр x): '20190428' ну вы сформулируйте условие выборки то и сразу будет понятнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 18:57 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, sorry, похоже, криво написал. условие выборки: main.x >= '20190401' main.x <= '20190430' main.z = 'a' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:00 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
ну и что мешает прикрутить qrp181. количество дней, по которым есть записи(параметр x): 4 2. количество записей: 8 3. сумму параметра z по всем записям: 65 4. последний день, в который есть запись(параметр x): '20190428' количество уникальных x количество x сумму z максимальный x ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:13 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, именно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:19 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
И? Задача - простая. Просить решить - странно. Если пока не получается, то читайте синтаксис операторов, которые выполняют ваши задачи, синтаксис запросов в целом если не понятно куда условия, а куда что писать. Смотрите примеры, в частности агрегатных функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:30 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
https://rextester.com/MLNZ29756 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:33 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
пропустил count(distinct x)m.. https://rextester.com/KKVC19161 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:37 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
ну или ..count(distinct case z when @z then x end)ff .. в зависимости от условий если нужно считать даты только с 'a' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 19:42 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
vikkivну или ..count(distinct case z when @z then x end)ff .. в зависимости от условий если нужно считать даты только с 'a' спасибо, то что надо :) а если параметр 'a' задается в виде таблицы авторdeclare @tz table (z char) insert into @tz(z) values ('a'), ('b') , то как правильно написать условие можете сказать? или в таком случае все будет совсем по другому, т.к. надо будет к этой таблице джоином присоединять первую таблицу? (на выходе тогда первым значением пойдет значение параметра 'z') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 20:51 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, позиция понятна, но по поводу простоты я спросил к другому. > простую задачу, решение которой занимает мало времени, попросить помочь решить не зазорно > сложную задачу, решение которой у специалистов занимает много часов, или даже дней просить сделать за тебя некрасиво. поэтому, если задача специалистом видится несложной, то я ок. сам над ней думал, не решил.. бывает. но я и не специалист.. спустя полгода-год может быть стану. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 20:56 |
|
||
|
запрос к таблице(count, sum)
|
|||
|---|---|---|---|
|
#18+
vikkiv, покрутил, вроде так получается: https://rextester.com/QUKW5505 вроде, то что хотел. спасибо еще раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2019, 22:10 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39826993&tid=1687676]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 419ms |

| 0 / 0 |
