0

神の日。

私は 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か教えてください。

4

2 に答える 2

0
SELECT  colname, count(colname) AS UniqueRecord_Count 
FROM    ascouser
GROUP BY colname

あなたが言ったように、レコードをフィルタリングするためのWhere句を置くことができます。

于 2013-09-25T15:06:52.673 に答える