webForumDet fria alternativet

Minsta unika värdet

9 svar · 795 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Har ett värde per rad och flera rader kan vara lika. Hur hämtar man den lägsta unika värdet i en MySQL databas?

HermanMedlem sedan maj 2001431 inlägg
#2

Testa

SELECT bid
FROM auction_bids
GROUP BY bid
HAVING Count(bid)=1
ORDER BY bid

LIMIT 0,1

AsaMedlem sedan dec. 20011 860 inlägg
#3

Tackar för det :) Funkade finfint!

AsaMedlem sedan dec. 20011 860 inlägg
#4

Vill göra så här nu...

strLagst = Lägsta värdet ifrån databasen
strMedel = Medelvärdet på värdet från databasen

Fler uträkningar här kanske där den kollar om ditt bud är lägre än aktuella bud i databasen??? 
Om ditt bud är högre eller lägre än unika lägsta budet?

If Om ditt bud är ett unikt bud som oxå är lägst skall denna text skrivas ut
  Ditt bud är lägst hittils....

ElseIf Om ditt bud redan har lagts skall denna text stå
  Ditt bud har någon annan bjudit.

ElseIf Om ditt bud är unikt men högre/lägre än det lägsta unika budet skall detta stå
  Ditt bud är högre/lägre än det lägsta unika budet.

End If
HermanMedlem sedan maj 2001431 inlägg
#5

Hur har du tänkt lösa det? med en lagrad procedur eller på webbservern med ett script? misstänker att du tänkte lösa det på webbservern... i så fall är det ordinärt kod-hackande och inte SQL.

AsaMedlem sedan dec. 20011 860 inlägg
#6

På webbservern såklart. Fortsatte bara svara i denna tråd då jag startade den. VIlle inte skapa en ny då det hör ihop lite med det andra jag skrivit.

AsaMedlem sedan dec. 20011 860 inlägg
#7

Någon som kan eller skall jag skriva en ny tråd i aspforumet?

AsaMedlem sedan dec. 20011 860 inlägg
#8

Ingen som vill hjälpa till?

HermanMedlem sedan maj 2001431 inlägg
#9

ok lite tips så här innan morgonkaffe :x

dittBud = 100

strLagst = Lägsta värdet ifrån databasen
strMedel = Medelvärdet på värdet från databasen

uniktBud = isUnique(dittBud,auktionID)

If uniktBud AND dittBud<strLagst  Then
  Response.Write "Ditt bud är lägst hittils...."

ElseIf uniktBud=false Then
  Response.Write "Ditt bud har någon annan bjudit."

ElseIf uniktBud and dittBud<>strLagst Then
  Response.Write "Ditt bud är högre/lägre än det lägsta unika budet."

End If

'------------------------------------
Function isUnique(dittBud,auktionID)
 sql = "select bud from bud where auktionID=" & auktionID & " AND bud=" & dittBud
 rs.open sql,cn,1,1
  if rs.EOF then
    unikt = true   ' Ingen träff, dvs ingen annan har budet
  Else
    unikt = false  
  End if
 rs.close

 isUnique = unikt 
End Function

edit: hmm hade visst skrivit med lite c#-syntax samt använt count utan anledning. Det måste betyda att ett par öl är bättre än att vara sömndrucken ;)

AsaMedlem sedan dec. 20011 860 inlägg
#10

Tackar för ditt tips!

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)