总结
豆包 AI 助手文章总结

这个查询语句应该怎么写才正确

php中文网
发布: 2016-06-23 13:54:17
原创
986人浏览过

$sns=$db->field('DISTINCT(dname)' AS 'd_name','COUNT(dname)' AS 'tjs')->where(array('lid'=>intval($_GET['id']),'islottery'=>1))->GROUP('dname')->order('tjs DESC')->select();


回复讨论(解决方案)

表??,????,查?後?果。
你要提供?些才可以知道?句怎??啊。

DISTINCT 是关键字,而不是函数
不能这样用:DISTINCT(dname)
用了也没效果
但可以放在聚类函数中,比如 count(DISTINCT dname) 统计 dname 有多少种状态

这是我想要的,但是还是一只菜鸟,不知该怎么写!

public function exportTJ(){		//$objReader = PHPExcel_IOFactory::createReader('Excel5');		header("Content-Type: text/html; charset=utf-8");		header("Content-type:application/vnd.ms-execl");		header("Content-Disposition:filename=tongji.xls");		//   以下\t代表横向跨越一格,\n 代表跳到下一行,可以根据自己的要求,增加相应的输出相,要和循环中的对应哈		//字段		$letterArr=explode(',',strtoupper('a,b'));		$arr=array(		array('en'=>'d_name','cn'=>'门店名称'),		array('en'=>'tjs','cn'=>'领取次数'),		);		$chengItem=array('piaomianjia','shuifei','yingshoujine','yingfupiaomianjia','yingfushuifei','yingfujine','dailishouru','fandian','jichangjianshefei','ranyoufei');		$i=0;		$fieldCount=count($arr);		$s=0;		//thead		foreach ($arr as $f){			if ($s<$fieldCount-1){				echo iconv('utf-8','gbk',$f['cn'])."\t";			}else {				echo iconv('utf-8','gbk',$f['cn'])."\n";			}			$s++;		}		//		$db=M('Lottery_record');		$sns=$db->field('DISTINCT(dname) AS d_name,COUNT(dname) AS tjs')->where(array('lid'=>intval($_GET['id']),'islottery'=>1))->GROUP('dname')->order('tjs DESC')->select();		//$sns=$db->where(array('lid'=>intval($_GET['id']),'islottery'=>1))->order('tjs DESC')->select(DISTINCT(dname) AS d_name, COUNT(dname) AS tjs);		//$sns=array('select DISTINCT(dname) AS d_name, COUNT(dname) AS tjs from $db where 'lid'==intval($_GET['id']) and 'islottery'==1 GROUP BY dname ORDER BY tjs DESC');		if ($sns){			if ($sns[0]['token']!=$this->token){				exit('no permission');			}			foreach ($sns as $sn){				$j=0;				foreach ($arr as $field){					$fieldValue=$sn[$field['en']];					switch ($field['en']){						default:							break;											case 'd_name':							$fieldValue=iconv('utf-8','gb2312',$fieldValue);							break;					}					if ($j<$fieldCount-1){						echo $fieldValue."\t";					}else {						echo $fieldValue."\n";					}					$j++;				}				$i++;			}		}		exit();	}
登录后复制

field('dname AS d_name,COUNT(dname) AS tjs')
GROUP('d_name')

麻烦版主再帮我看看,怎么是这个结果呢

public function exportTJ(){
//$objReader = PHPExcel_IOFactory::createReader('Excel5');
header("Content-Type: text/html; charset=utf-8");
header("Content-type:application/vnd.ms-execl");
header("Content-Disposition:filename=tongji.xls");
//   以下\t代表横向跨越一格,\n 代表跳到下一行,可以根据自己的要求,增加相应的输出相,要和循环中的对应哈
//字段
$letterArr=explode(',',strtoupper('a,b'));
$arr=array(
array('en'=>'d_name','cn'=>'门店名称'),
array('en'=>'tjs','cn'=>'领取次数'),
);
$chengItem=array('piaomianjia','shuifei','yingshoujine','yingfupiaomianjia','yingfushuifei','yingfujine','dailishouru','fandian','jichangjianshefei','ranyoufei');

$i=0;
$fieldCount=count($arr);
$s=0;
//thead
foreach ($arr as $f){
if ($s echo iconv('utf-8','gbk',$f['cn'])."\t";
}else {
echo iconv('utf-8','gbk',$f['cn'])."\n";
}
$s++;
}
//
$db=M('Lottery_record');
$sns=$db->where(array('lid'=>intval($_GET['id']),'islottery'=>1,'dname' != null))->field('COUNT(sn) as tjs,dname as d_name')->GROUP('d_name')->order('tjs DESC')->select();
//$sns=$db->where(array('lid'=>intval($_GET['id']),'islottery'=>1))->order('tjs DESC')->select(DISTINCT(dname) AS d_name, COUNT(dname) AS tjs);
//$sns=array('select DISTINCT(dname) AS d_name, COUNT(dname) AS tjs from $db where 'lid'==intval($_GET['id']) and 'islottery'==1 GROUP BY dname ORDER BY tjs DESC');
if ($sns){
if ($sns[0]['token']!=$this->token){
exit('no permission');
}
foreach ($sns as $sn){
$j=0;
foreach ($arr as $field){
$fieldValue=$sn[$field['en']];
switch ($field['en']){
default:
break;
case 'tjs':
    $fieldValue=iconv('utf-8','gb2312',$fieldValue);
    break;
case 'd_name':
$fieldValue=iconv('utf-8','gb2312',$fieldValue);
break;
}
if ($j echo $fieldValue."\t";
}else {
echo $fieldValue."\n";
}
$j++;
}
$i++;
}
}
exit();
}


}

你这种写法应该是thinkphp吧?
据我所知好像tp不支持这样的,不过你可以写原生的sql。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号