Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

Ir datubāzes tabula 

km1, km2, km1_rez, km2_rez

 

Ir Komanda ar ID 10 piemēram. Ir ntās spēles savadītas tabulā, bet ir nepieciešams iegūt tikai datus no pēdējām 10 spēlēm, kur ir piedalījusies šī komanda. Itkā mēģināju ar LIMIT, bet viņš skaita arī spēles, kas ir virs 10tā NUMROW'a.

 

 

Mazs piemērs kā mēģināju

 

post edit sux ;[

 

 

Mērķis ir iegūt uzvaru/zaudējumu skaitu no pēdējām 10 spēlēm. Šis kverijs man izvada

 

stdClass Object
(
[L10_wins] => 9
[L10_lost] => 8
)

 

kgan nepieciešams piemēram

 

 

stdClass Object
(
[L10_wins] => 6
[L10_lost] => 4
)

Edited by anonīms
Posted

Jo tev ir 2 subselekti, kur katram ir limit 10, kopā 20 ieraksti var atlasīties.

Pastāv jau tāda lieta kā OR un AND

 

...
SELECT `lauki` FROM `tabula` WHERE (km1=komanda AND km1_rez>km2_rez) OR (km2=komanda AND km2_rez>km1_rez) AND ... LIMI 10
...
Posted

nebūs īstā štelle. Pat mēģinot parastu kveriju
 
SELECT COUNT( * ) 
FROM ****_speles
WHERE ligas_id =1
AND km1 =22
AND km1_rez > km2_rez
LIMIT 10

viņš vienkārši nekaunot tad vairāk par 10, ja ir limit's, bet tas nestrādā kā offsets vai kas tāds

Posted


select count(*)

from (

select `km1_rez`, `km2_rez`

from `...`

where (`km1` = ... or `km2` = ...)

order by `id` desc

limit 10

) as t

where `km1_rez` > `km2_rez`

Posted

Tā varētu būt, jo limit darbojas uz galarezultātu. Kaut kas tāds neder?

SELECT COUNT( * ) 
FROM (
  SELECT *
  FROM ****_speles
  WHERE ligas_id =1
  AND km1 =22
  AND km1_rez > km2_rez
  LIMIT 10
);
Posted (edited)

Diemžēl nē
Tavs kverijs: "every derived table must have its own alias"
 
so...
 
SELECT COUNT( * ) AS t1
FROM (

SELECT * 
FROM bliezamv3_ligas_speles
WHERE ligas_id =1
AND km1 =22
AND km1_rez > km2_rez
LIMIT 10
) AS t2
 

t1
10

 

mļe, laikam būs php pusē jāapstrādā :/ 
 

EDIT: ieraudzīju spaiņa komentāru. Nočekošu

Edited by anonīms
Posted

Izskatās, ka spaiņa variants strādā.

 

select count(*) AS wins
from (
select `km1_rez`, `km2_rez`,`km1`, `km2`
from `bliezamv3_ligas_speles`
where (`km1` = 22 or `km2` = 22)
order by `id` desc
limit 10
) as t
where `km1` = 22 AND `km1_rez` > `km2_rez`

 

 

W - 6 

 

Tencinu. Pielikšu te vēl zaudējumus un tad ziņošu par notiekošo :) 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...