Kom ihåg mig?
Home Menu

Menu


Hjälp med mysql fråga, selektivt urval av resultat

Ämnesverktyg Visningsalternativ
Oläst 2010-04-12, 08:32 #1
najks avatar
najk najk är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2005
Inlägg: 1 224
najk najk är inte uppkopplad
Har WN som tidsfördriv
najks avatar
 
Reg.datum: Oct 2005
Inlägg: 1 224
Standard Hjälp med mysql fråga, selektivt urval av resultat

Hej, jag försöker göra en sqlfråga men jag går bet på den.

Tabellen innehåller två värden, datum och position.
Det matas in värden i tabellen så ofta som möjligt, om allt funkar som det ska tre gånger per minut. Men det kräver att det finns gprs täckning, något det inte alltid gör så det kan gå en stund mellan inmatningarna, låt säga att i början av tabellen finns 5 värden som är nära varandra positions och tidsmässigt. Men sedan finns det en tid och position en bit bort för att följas med 14 positioner med kort tidsintervall.

För att få ut en bra visning på det vill man ju visa en av de 5 första positionerna, sen den positionen som är ensam och sen kanske två/tre av de sista 14 positionerna. Väljer man (som sidan gör idag) var 20:de position får man ju inte en så detaljerad bild, men har man oftare positioner blir det knökafullt med ballonger när den har bra täckning och således skickar positionerna oftare.

Så jag vill alltså beroende på differans från föregående tidpunkt i tabellen få ut nästa rad. Säg att om det är mindre än 10 minuters mellanrum struntar jag i uppdateringen men har det skiljt mer än 10 minuter vill jag ha raden.

Sqlfrågan ska implementeras här (för att få ytterligare förståelse om min beskrivning är otydlig): http://30000m.se/tracking/

Någon MySQL duktig person som kan peka mig i rätt riktning?
najk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-12, 09:32 #2
lubic lubic är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 205
lubic lubic är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 205
Kommer på rak arm inte på hur du gör detta i SQL, dock borde du utan större problem kunna göra det innan du presenterar resultatet. Alltså i t.ex. din PHP-kod så plockar du ut alla rader och sen plottar du bara ut punkterna om det har en tillräckligt stor diff från föregående punkt. Nackdelen blir så klart att det kanske blir onödigt mycket data att "jobba" med om du har många mätningar. I så fall kanske någon annan har någon bra idé om hur du kan göra urvalet direkt i SQL.
lubic är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-12, 11:12 #3
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Har testat lite med MS SQL-server, och har inte hunnit konvetrea till MySQL ännu menprincipen borde vara densamma:

Kod:
select *

FROM(

select posid, datum,  
(
	select top 1 datum
	from position p2 
	where p2.datum < p1.datum
	order by 1 desc
)  as [bak],
(
	select top 1 datum
	from position p2 
	where p2.datum > p1.datum+3
	order by 1 asc
)  as [fram]
from Position p1
) Tabpos
where fram > datum

Behövs givetvis lite mer logik men en start i alla fall...

Senast redigerad av Conny Westh den 2010-04-12 klockan 11:55
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-12, 11:25 #4
yadis yadis är inte uppkopplad
Medlem
 
Reg.datum: Mar 2009
Inlägg: 66
yadis yadis är inte uppkopplad
Medlem
 
Reg.datum: Mar 2009
Inlägg: 66
Kan du inte strunta i att spara postiionen om den är under 10 minuter gammal(jämfört med senaste sparade) istället? Underlättar ditt liv om du gör så istället
yadis är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-12, 11:31 #5
najks avatar
najk najk är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2005
Inlägg: 1 224
najk najk är inte uppkopplad
Har WN som tidsfördriv
najks avatar
 
Reg.datum: Oct 2005
Inlägg: 1 224
Nja, jag vill ju ha alla positioner, eftersom även om positionen är samma så kan höjden vara annorlunda. Dessutom vill man ju kunna ta fram en väldigt detaljerad resplan med så mycket data som möjligt sen. Men i "spårningsfasen" är det ju trevligare om man kan visa så som jag tänkt. Men får väl göra det i php, för jag får inte riktigt Connys lösning att funka heller. Även om det hade vart trevligare å göra det i MySQL direkt.
najk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-12, 11:56 #6
GuzZzt GuzZzt är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2003
Inlägg: 13
GuzZzt GuzZzt är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2003
Inlägg: 13
Jag skulle nog antingen som lubic säger lösa det i Php eller så skulle jag ta ut medel från mySQL grupperat på 10 minters interval. Då blir det jämnare med positioner.
GuzZzt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-12, 12:58 #7
najks avatar
najk najk är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2005
Inlägg: 1 224
najk najk är inte uppkopplad
Har WN som tidsfördriv
najks avatar
 
Reg.datum: Oct 2005
Inlägg: 1 224
Fan du e inte dum du, medelvärde var en interessant lösning.
najk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-04-14, 16:02 #8
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av najk Visa inlägg
Nja, jag vill ju ha alla positioner, eftersom även om positionen är samma så kan höjden vara annorlunda. Dessutom vill man ju kunna ta fram en väldigt detaljerad resplan med så mycket data som möjligt sen. Men i "spårningsfasen" är det ju trevligare om man kan visa så som jag tänkt. Men får väl göra det i php, för jag får inte riktigt Connys lösning att funka heller. Även om det hade vart trevligare å göra det i MySQL direkt.
Mitt förslag var inte komplett, det behöver arbetas mer med innan det funkar, jag slängde ut det för att vara en inspiration till nya idéer. Behöver fundera mer över logiken innan den funkar...

Senast redigerad av Conny Westh den 2010-04-14 klockan 16:21
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:28.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017