Jump to content
php.lv forumi

par COUNT


smarty

Recommended Posts

Sekojosha probleema - nepiecieshams atlasiit komenteeo bilzhu skaitu. it kaa vienkaarshi, bet ar mysql liidzekljiem nesanaak (pagaidaam atlasu visas grupeejot ar group by un saskaitot ar php liidzekljiem).

taatad ir divas tabulas, no kuraam meegjinu atlasiit shaadi:

SELECT count( c.photos_id ) AS total
FROM photos AS p, comments AS c
WHERE c.photos_id = p.photos_id

bet tas atlasa pilniigi visus komentaarus. ja es ieliegu group by, tad atlasa katrai bildei komentaru skaitu, nevis kopeeju komenteeto bilzhu skaitu. varbuut tas nemaz nau iespeejams, kaa es iedomaajos?

Link to comment
Share on other sites

Cik es sapratu no jautājuma - viņam vajag bilžu skaitu, kurām ir kaut viens komentārs.

20232[/snapback]

 

argh.. nepareizi sapratu...

 

tad bubu, tavā variantā jālieto ir

count(distinct(photos_id))

Edited by Delfins
Link to comment
Share on other sites

tad pie viena ... par count ...

man taada lieta ...

$all = "SELECT COUNT(`id`) FROM `tabula` WHERE `lauks` = 'vertiba' AND `lauks2` = 'vertiba2' LIMIT 100";
$one = mysql_fetch_row($all);
echo $one[0]; // ~ 9000

atgreizh rezultaadu paaris tuukstoshus ~ 9000

$all = "SELECT * FROM `tabula` WHERE `lauks` = 'vertiba' AND `lauks2` = 'vertiba2' LIMIT 100";
$one = mysql_num_rows($all);
echo $one[0]; // 100

 

manupraat COUNT tachu skaita ierakstus, cik atgriezh, vai arii es kljuudos ...

Edited by Klez
Link to comment
Share on other sites

Es atvainojos, bet ko tad citu tu tur gaidīji...

$all = "SELECT * ... LIMIT 100";

$one = mysql_num_rows($all);

echo $one[0]; // 100

Būtu dīvaini, ja tas $one[0] būtu lielāks!

 

A tas, ka tas COUNT(`id`) atgriež vairāk, tas taču loģiski, jo LIMIT darbojās pēc datu atlases, tb tev jau tikai 1 rindiņa tiek atgriezta (tas 9000), kas ir mazāks par 100 pieprasītajā.

 

btw, tas laikam saīsināts pieraksts, ja? jo tur mysql_query() nekur neredzu..

Edited by bubu
Link to comment
Share on other sites

mysql_query("SELECT COUNT(id) FROM tabula WHERE aluks_a > 10 AND lauks_a < 100 LIMIT 100");

 

taatad, sheit ir doma atlasiit ierakstus lapas raadiitaajam (Lapas: 1, 2, 3) ...

var jau protams

mysql_query("SELECT id FROM tabula WHERE aluks_a > 10 AND lauks_a < 100 LIMIT 100");

un tad mysql_num_rows

 

bet manupraat COUNT ir aatraaks ...

Link to comment
Share on other sites

×
×
  • Create New...