SQL lekérdezés száma sorok egy id kiválasztásával közötti 2 perc dátumait a különböző oszlopok

szavazat
-1
       temp
|id|received  |changed   |
|33|2019-02-18|2019-11-18|
|33|2019-08-02|2019-09-18|
|33|2019-12-27|2019-12-18|
|18|2019-07-14|2019-10-18|
|50|2019-03-20|2019-05-26|
|50|2019-01-19|2019-06-26|

A „temp” táblázat mutatja a felhasználók, akik kérelmet kapott egy tevékenységet. Egy felhasználó több megkeresés. Így a kapott oszlop több dátum mutató, ha a kérések érkezett. A „megváltozott” táblázat is mutatja, amikor az állapota megváltozott. Vannak is több értéket érte. Meg kell találni a COUNT kérelmek felhasználónként a min (vett) dátum és MIN (megváltozott) időpontja A várt eredmény kell kinéznie: - A harmadik sorban ID- 33 nem lehet kiválasztani, mert a beérkezett időpont után megváltozott dátum.

|id|total_requests_sent|
|33|2                  |
|18|1                  |
|50|2                  |


Próbált létrehozása 2 HTE által engedély MIN dátum értékeket és csatlakozott az eredetivel

A kérdést 14/02/2020 00:03
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
1

Lehet, hogy tényleg leegyszerűsítése a feladat, de nem valami hasonlót ezt a munkát?

select
  t.id, count (*) as total_requests_sent
from
  temp t
  join temp2 t2 on
    t.id = t2.id
where
  t.received between t2.min_received and t2.min_changed
group by
  t.id

Hiszem, hogy a kimenet megfelelő példa a fogyasztói esetben szerepel, de korlátozott adatbázisba nehéz biztos.

Válaszolt 14/02/2020 02:28
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more