神の日。
私は MsSQl Server 2008 を使用しています。
コード:
$entersql="SELECT name
FROM (
SELECT name FROM
Hist_answer
WHERE id_city='$id_city' AND id_firm='$id_firm' AND id_service='$id_service'
) x
GROUP BY name
";
$enterres = sqlsrv_query($conn, $entersql, $params, $options);
while($i = sqlsrv_fetch_array($enterres, SQLSRV_FETCH_ASSOC))
{
if($inputby=='id_hist_answer'&&$typeby=='DESC'){$a--;}else{$a++;}
$name=($i['name']!='')? $i['name']:'0';
$sql11="SELECT
ha.unit as ha_unit,
ha.id_producer_goods as ha_id_producer_goods
FROM Hist_answer ha
WHERE ha.id_city='$id_city' AND ha.id_firm='$id_firm' AND ha.id_service='$id_service' AND ha.name='$name'";
$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$res11 = sqlsrv_query($conn, $sql11,$params,$options);
$row_count_ha = sqlsrv_num_rows($res11);
}
このコードでは、次のことを行います。
1) すべての固有のものを選択しましたname
( group by name
);
2) 2 番目の sql($sql11) で、それぞれに対して count 行を見つけますname
。
name
すべての一意の( group by name
) を見つけて一意の行を数えることができる場合、どのように SQL を実行するname
か教えてください。