本文整理汇总了PHP中SC_Query::setGroupBy方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Query::setGroupBy方法的具体用法?PHP SC_Query::setGroupBy怎么用?PHP SC_Query::setGroupBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Query
的用法示例。
在下文中一共展示了SC_Query::setGroupBy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: findProductIdsOrder
/**
* SC_Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。
*
* 検索条件は, SC_Query::setWhere() 関数で設定しておく必要があります.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrVal 検索パラメーターの配列
* @return array 商品IDの配列
*/
function findProductIdsOrder(&$objQuery, $arrVal = array())
{
$table = <<<__EOS__
dtb_products AS alldtl
__EOS__;
$objQuery->setGroupBy('alldtl.product_id');
if (is_array($this->arrOrderData) and $objQuery->order == '') {
$o_col = $this->arrOrderData['col'];
$o_table = $this->arrOrderData['table'];
$o_order = $this->arrOrderData['order'];
$order = <<<__EOS__
(
SELECT {$o_col}
FROM
{$o_table} as T2
WHERE T2.product_id = alldtl.product_id
ORDER BY T2.{$o_col} {$o_order}
LIMIT 1
) {$o_order}, product_id
__EOS__;
$objQuery->setOrder($order);
}
$results = $objQuery->select('alldtl.product_id', $table, '', $arrVal, MDB2_FETCHMODE_ORDERED);
$resultValues = array();
foreach ($results as $val) {
$resultValues[] = $val[0];
}
return $resultValues;
}
示例2: findProductCount
/**
* SC_Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.
*
* 検索条件は, SC_Query::setWhere() 関数で設定しておく必要があります.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrVal 検索パラメーターの配列
* @return array 対象商品ID数
*/
public function findProductCount(&$objQuery, $arrVal = array())
{
$table = <<<__EOS__
dtb_products AS alldtl JOIN dtb_products_class AS P
ON P.product_id = alldtl.product_id
LEFT JOIN dtb_class AS A
ON P.classcategory_id1 = A.class_id
LEFT JOIN dtb_class AS B
ON P.classcategory_id2 = B.class_id
__EOS__;
$objQuery->setGroupBy('P.product_id, A.name, B.name');
return $objQuery->get('COUNT(DISTINCT(alldtl.product_id))', $table, '', $arrVal);
}
示例3: lfGetOrderMember
/** 会員別集計 **/
function lfGetOrderMember($type, $sdate, $edate, &$objPage, $graph = true)
{
list($where, $arrval) = $this->lfGetWhereMember('create_date', $sdate, $edate, $type);
// 会員集計の取得
$col = "COUNT(*) AS order_count, SUM(total) AS total, trunc(AVG(total),0) AS total_average, order_sex";
$from = "dtb_order";
$objQuery = new SC_Query();
$objQuery->setGroupBy("order_sex");
$tmp_where = $where . " AND customer_id <> 0 AND del_flg = 0 AND status <> " . ORDER_CANCEL;
$arrRet = $objQuery->select($col, $from, $tmp_where, $arrval);
// 会員購入であることを記録する。
$max = count($arrRet);
for ($i = 0; $i < $max; $i++) {
$arrRet[$i]['member_name'] = '会員' . $this->arrSex[$arrRet[$i]['order_sex']];
}
$objPage->arrResults = $arrRet;
// 非会員集計の取得
$tmp_where = $where . " AND customer_id = 0 AND del_flg = 0 AND status <> " . ORDER_CANCEL;
$arrRet = $objQuery->select($col, $from, $tmp_where, $arrval);
// 非会員購入であることを記録する。
$max = count($arrRet);
for ($i = 0; $i < $max; $i++) {
$arrRet[$i]['member_name'] = '非会員' . $this->arrSex[$arrRet[$i]['order_sex']];
}
$objPage->arrResults = array_merge($objPage->arrResults, $arrRet);
// 円グラフの生成
if ($graph) {
$image_key = "member";
$objPage->tpl_image = $this->lfGetGraphPie($objPage->arrResults, "member_name", $image_key, "(売上比率)", $sdate, $edate);
}
}
示例4: findProductCount
/**
* SC_Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.
*
* 検索条件は, SC_Query::setWhere() 関数で設定しておく必要があります.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrVal 検索パラメーターの配列
* @return array 対象商品ID数
*/
function findProductCount(&$objQuery, $arrVal = array())
{
$table = <<<__EOS__
dtb_products AS alldtl
JOIN dtb_product_categories AS T2
ON alldtl.product_id = T2.product_id
JOIN dtb_category
ON T2.category_id = dtb_category.category_id
__EOS__;
$objQuery->setGroupBy('alldtl.product_id');
$sql_base = $objQuery->getSql('alldtl.product_id', $table);
return $objQuery->getOne("SELECT count(*) FROM ( {$sql_base} ) as t", $arrVal);
}