• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SQL - ostatnia rozmowa

Cloud VPS
0 głosów
625 wizyt
pytanie zadane 22 marca 2023 w SQL, bazy danych przez Blds Użytkownik (830 p.)

Potrzebuję wyciągnąc customer_id i datę ostatniej rozmowy, ale tylko taką która trwała powyżej 25 sekund. Mam tabele phone_customer i kolumne start_call stop_call i mam coś takiego ale chyba nie do konca poprawnie, ktoś ma jakiś pomysł?

 

SELECT customer_id, max(stop_call)
FROM phone_customer
GROUP BY 1
WHERE
stop_call > start_call + interval 25 sekund

 

2
komentarz 22 marca 2023 przez Igorek Mądrala (6,290 p.)
Myślę, że dostaniesz szybciej i lepszą odpowiedz jak pokażesz wygląd przykładowej tabeli w bazie danych (wraz z przykładowymi danymi)

1 odpowiedź

0 głosów
odpowiedź 23 marca 2023 przez Pawel1995 Gaduła (3,810 p.)

W twoim przykładzie masz trzy błędy:

 - "GROUP BY" jest za "WHERE"

 - interwał dajesz pomiędzy '' -> '25'

 - po polsku SQL nie rozumie: sekund -> SECOND

 

Tu masz poprawnie:

SELECT customer_id, max(stop_call)
FROM phone_customer
WHERE 
stop_call > start_call + interval '25' SECOND
GROUP BY 1;

 

komentarz 23 marca 2023 przez Blds Użytkownik (830 p.)
dzięki za odpowiedź. Oczywiście z pośpiechu zmieniłem kolejność where z group, ale w oryginale jest poprawnie tak samo sekundy : ). Natomiast do tej pory nigdy nie brałem interwalu w apostrofy. Czy to rzeczywiście wpłynie znacząco na wyniki?
komentarz 24 marca 2023 przez Pawel1995 Gaduła (3,810 p.)
Do sprawdzenia twojego zadania używam postgresa i w nim bez  ' ' pojawia się błąd:

ERROR: BŁĄD: błąd składni w lub blisko "25"

a jak dodasz ' ' to wszystko jest poprawnie.

 

Natomiast w innych bazach niż postgres może działać bez ' ' .

Podobne pytania

0 głosów
1 odpowiedź 1,284 wizyt
pytanie zadane 6 sierpnia 2019 w SQL, bazy danych przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 196 wizyt
pytanie zadane 19 lutego w SQL, bazy danych przez Steady Obywatel (1,200 p.)
0 głosów
0 odpowiedzi 79 wizyt
pytanie zadane 7 stycznia w SQL, bazy danych przez bertyslaw Nowicjusz (120 p.)

93,485 zapytań

142,417 odpowiedzi

322,765 komentarzy

62,898 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...