Jump to content
php.lv forumi

Recommended Posts

Posted
SELECT sadaļas.nosaukums, COUNT(*) FROM sadaļas JOIN forumi ON sadaļas.id = forumi.sadaļas_id GROUP BY sadaļas.nosaukums

Posted (edited)

ir tnq

 

a varbūt tu nezini kā saskaitīt atbildes

 

man sanāca šitā bet ja piemēram sadaļā nav iekšā neviena raksta tad tas pazūd :(

 

SELECT count(jautaajuma_id),  jautaajuma_kateid, kategorijas_img, kategorijas_nosaukums, kategorijas_apraksts, kategorijas_id FROM $tbl_name JOIN $tb2_name ON $tb2_name.jautaajuma_kateid=$tbl_name.kategorijas_id WHERE jautaajuma_kateid = kategorijas_id  GROUP BY jautaajuma_kateid ORDER BY kategorijas_id  DESC

Edited by goma smile
Posted

Yeahh <uzbrauciens>:

Latviešu valodā ir tāda pieturzīme, kas saucās jautājuma zīme un kuru raksta šādi "?". Tā palīdz saprast tādu niansi, vai konkrētais izteikums ir jautājums, vai, piemēram, apgalvojums, ko, nedzirdot Tavu runas intonāciju, ir visai grūti citādi saprast.

</uzbrauciens>

 

Tagad par lietu - Tev interesē ārējais savienojums, kurš ir viens no savienojumu veidiem un atšķirīgs no iekšējā savienojuma, ko Tu izmanto savā SQL Select teikumā.

 

Gints Plivna

http://datubazes.wordpress.com

Posted

no mana koda, kuru arī ieguvu php.lv

$pcnt3 = mysql_query("SELECT COUNT(gamefarm_forums_atbildes.id) AS skaits 
FROM gamefarm_forums_atbildes, gamefarm_forums_topiki WHERE gamefarm_forums_atbildes.topika_id = gamefarm_forums_topiki.id 
AND gamefarm_forums_topiki.kategorijas_id =  $forums[0]") or die(mysql_error());

Posted (edited)
Taisi LEFT JOIN.

LEFT JOIN nenostradaas ja otraa tabulaa pretii nebuus ieraksta ... parbaudiits praksee ... (kautgan ikaa vajadzeetu atgriest, bet nu Mysql 4.1.xx toch netgriezj )

Jaizmanto konstrukcija LEFT OUTER JOIN tad gan var izmantot count(tabulas_id_kur_komentari) un grupeet peec pirmaas tabulas ..

---

edit: nepaskatijos Gints jau to bija uzradijis...

Edited by Grey_Wolf
Posted (edited)

Varbūt labāk topics tabulā glabāt lauku atbilžu_skaits, un, kad pievieno atbildi palielināt, vai kad izdzēš atbildi samazināt. Gan ātrāk strādās, gan vienkāršāks kverijs?

Edited by codez
Posted
LEFT JOIN nenostradaas

 

LEFT JOIN ļoti labi strādās, vajag tik atcerēties, ka COUNT neskaita NULL vērtības.

 

mysql> use test;
Database changed

mysql> create table sadaljas (id int, nosaukums varchar(50));
Query OK, 0 rows affected (0.00 sec)

mysql> create table forumi (id int, sadaljas_id int, nosaukums varchar(50));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into sadaljas values (1, "php");
Query OK, 1 row affected (0.00 sec)

mysql> insert into sadaljas values (2, "java");
Query OK, 1 row affected (0.00 sec)

mysql> insert into sadaljas values (3, "sql");
Query OK, 1 row affected (0.00 sec)

mysql> insert into forumi values (1, 1, "php nuubiem");
Query OK, 1 row affected (0.00 sec)

mysql> insert into forumi values (2, 1, "php ne-nuubiem");
Query OK, 1 row affected (0.00 sec)

mysql> insert into forumi values (3, 3, "mysql");
Query OK, 1 row affected (0.00 sec)

mysql> insert into forumi values (4, 3, "postgresql");
Query OK, 1 row affected (0.00 sec)

mysql> insert into forumi values (5, 3, "oracle");
Query OK, 1 row affected (0.00 sec)

mysql> select sadaljas.nosaukums, COUNT(forumi.id) FROM sadaljas LEFT JOIN forumi ON sadaljas.id = forumi.sadaljas_id GROUP BY sadaljas.nosaukums;
+-----------+------------------+
| nosaukums | COUNT(forumi.id) |
+-----------+------------------+
| java	  |				0 |
| php	   |				2 |
| sql	   |				3 |
+-----------+------------------+
3 rows in set (0.00 sec)

Posted (edited)

Ja ir vaina bija ka bija WHERE

paldies

 

a kāds nezinātu kā var apreiķināt atbilžu skautu katrā sadaļā

Edited by goma smile
×
×
  • Create New...