Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функция которая просто возвращает аргумент, есть ли такая? 
:(
    Опции темы
Irokez
Дата 7.8.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



нужна функция X, такая что: a = X(b) == b, т.е. которая ничего не делает, а просто возвращает передаваемый аргумент.. звучит конечно нелепо, но такая функция нужна smile
PM   Вверх
Kesh
Дата 7.8.2005, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Ну , например... IFNULL(NULL,b);



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 7.8.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



а чтобы принимала только один аргумент?
ЗЫ зачем надо:
скрипт принимает параметр: $func - month, weekday, dayofmonth или none и затем подставляю в запрос:
Код

select $func(`Date`) as gr, sum(`sent`) from `stat` group by `gr`

т.е. если параметр none, то группировки быть не должно, нужна функция вместо none
конечно можно добавить проверку до запроса.. но я думал может можно средствами mysql обойтись
PM   Вверх
Kesh
Дата 7.8.2005, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Irokez ХМ... читал три раза... не понял... smile
Поподробнее, пожалуйста... smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 7.8.2005, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



вроде понятно объяснил smile
нужно из таблицы посчитать сумму чисел, записанных в поле `sent`
в зависимости от переданного параметра (пусть будет - $func) нужно группировать результаты по месяцам, дням недели или дням месяца или же не группировать вообще, т.е. показывать суммы для каждого дня, поэтому запрос составляю следующим образом:
Код

select $func(`Date`) as gr, sum(`sent`) from `stat` group by `gr`

теперь нужна какая либо функция mysql которая бы просто возвратила передаваемый аргумет,т.е. значение поля `Date`, тогда бы запрос стал бы:
Код

select `Date` as gr, sum(`sent`) from `stat` group by `gr`

такую функцию найти не получается
PM   Вверх
Kesh
Дата 7.8.2005, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Так а чем тогда мой вариант не подходит?.. Тебе же все равно это значение извне вносить...
Добавлено @ 21:38
В MySQL есть даже CASE...
Цитата
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
В первом варианте возвращается значение result, если value=compare-value. Во втором - результат для первого указанного условия condition, если оно истинно. Если соответствующая величина результата не определена, то возвращается значение result, указанное после оператора ELSE. Если часть ELSE в выражении отсутствует, возвращается NULL:
mysql> SELECT CASE 1 WHEN 1 THEN "one"
          WHEN 2 THEN "two" ELSE "more" END;
      -> "one"
mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
      -> "true"
mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;
      -> NULL

Тип возвращаемой величины будет такой же (INTEGER, DOUBLE или STRING), как и у первой возвращаемой величины (выражение после первого оператора THEN).



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 7.8.2005, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Цитата(Kesh @ 7.8.2005, 21:36)
Так а чем тогда мой вариант не подходит?.. Тебе же все равно это значение извне вносить...

у тебя функция принимает два аргумента, а мне нужен только один, т.к. month(), dayofmonth(), weekday() принимают по одному аргументу.. ну вобщем спасибо, сделал добавочное условие до запроса.. но все равно интересно, если кто такую функцию все таки найдет
PM   Вверх
Song
Дата 9.8.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 1
Всего: 4



Ну пусть будет ABS(x) smile


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Irokez
Дата 9.8.2005, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Цитата(Song @ 9.8.2005, 13:44)
Ну пусть будет ABS(x) smile

надо же... и с датами работает! +!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.