Autor Zpráva
Dexx
Profil *
Zdravim, mám tento dotaz:
SELECT `sloupec1`,`sloupec2`,`sloupec3` FROM `tbl1` ORDER BY COUNT(*).`tbl2` ASC;

To tučně vyznačené potřebuji upravit tak, aby to dělalo to co má (tohle jsem napsal pouze pro příklad, aby jste věděli co potřebuji ->vybrat data z tbl1 a seřadit je vzestupně podle tbl2)
nightfish
Profil
co to znamená "seřadit vzestupně podle tbl2"? zkus uvést příklad na konkrétních datech...
Kajman_
Profil *
Takto nějak?
select t1.* from tbl1 t1 left join tbl2 t2 on t1.id=t2.id group by t1.id order by count(t2.id)
Dexx
Profil *
nightfish
Zkusím to tedy více popsat:
Mám 2 tabulky: skupiny a skupiny_clenove

V tabulce skupiny mám následující sloupce:
groupId
name
createDate
www


V tabulce skupiny_clenove mám následující sloupce:
groupId
userId


A já vypisuji podrobné informace o všech skupinách, včetně počtu uživatelů v ní (to je práve to co řeším).
Takže mám např.:
// po kliknutí na např. na odkaz Název se tabulka seřadí podle sloupce `name` vzestupně...
if($_GET['orderby'] == 'name'){
$orderBy = '`name`';
}elseif($_GET['orderby'] == 'create-date'){
$orderBy = '`createDate`';
}elseif($_GET['orderby'] == 'www'){
$orderBy = '`www`';
}

echo '<table>
<th><a href="?orderby=name">Název</a></th>
<th><a href="?orderby=members">Počet členů</a></th>
<th><a href="?orderby=create-date">Datum založení</a></th>
<th><a href="?orderby=www">Webové stránky</a></th>';
$sqlGroupsSelect = mysql_query('SELECT * FROM `skupiny` ORDER BY '.$orderBy.' ASC');
$groupsSelect = mysql_num_rows(sqlGroupsSelect);
if(groupsSelect > 0{
while($row = mysql_fetch_array(sqlGroupsSelect )){
echo '<tr>
<td>$row['name']</td>
<td>POČET ČLENŮ (POTŘEBUJI PORADIT JAK NA TO)</td>
<td>$row['createDate']</td>
<td>$row['www']</td>
</tr>';
}
</table>
}else{
echo 'Žádné skupiny';
}

Kajman_
Zkusil jsem to do svého dotazu zakomponovat, ale jaksi mi to správně neřadí, nejspíš ten dotaz není na to, co potřebuji, nevím :-/
Kajman_
Profil *
Viz. "Počet komentářů ke článku" z FAQ
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=3 7836

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0