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

SQL - ostatnia rozmowa

0 głosów
734 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,487 wizyt
pytanie zadane 6 sierpnia 2019 w SQL, bazy danych przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 267 wizyt
+1 głos
1 odpowiedź 209 wizyt

93,765 zapytań

142,721 odpowiedzi

323,372 komentarzy

63,359 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...