![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 31.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
da sie jakos zastąpić "DATE_FORMAT( FROM_DAYS( TO_DAYS( NOW( ) ) - TO_DAYS( data_urodzenia ) ) , '%Y' ) +0" by nie pisac go drugi raz? chcialem zrobic cos takiego:
ale nie dziala ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Kod age =27 daj liczbe w apostrofach ;p a jeżeli masz daty całe to chyba możesz zastosować
![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 31.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
nie działa;
Unknown column 'age' in 'where clause' |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
w warunku musi powtórzyć tą czynność ;]
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
w warunku nie można używać aliasów ja zrobiłbym tak:
Ale to może być mało wydajne dla dużych tabel. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
pewnie, że da się uprościć i niczego nie trzeba powielać, wystarczy użyć właściwej składni oraz właściwych funkcji:
powodzenia. -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Fakt, nie wiedziałem że "having" ma właśnei takie użycie
![]() Zawsze można się czegoś nwoego nauczyć z forum ;] -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 1 Dołączył: 3.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze taka drobna uwaga na przyszłość:
jeśli masz możliwość, to staraj się nie używać NOW() w zapytaniu, które będzie wymagało jego wywołania wiele razy. Ta funkcja jest niedeterministyczna, co sprawia, że silnik nie cachuje jej wyniku i za każdym razem wywołuje na nowo. W końcu nie chciałbyś, pytając o bieżący czas, dostać zapamiętanej odpowiedzi sprzed paru minut, prwada? ![]() Jeśli dasz mysqlowi do przejrzenia paręset tyś. rekordów, to wywołasz NOW paręset tysięcy razy. ![]() W takiej sytuacji lepiej przypisać przed zapytaniem wartość NOW() do jakiejś zmiennej, a potem użyć tej zmiennej w zapytaniu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:47 |