小编Nis*_*ani的帖子

奇怪的MySQL AVG()异常NULL值

我在做什么 :

create table sample (id INT(10) PRIMARY KEY AUTO_INCREMENT,name varchar(255),marks INT(10));

insert into sample (name,marks) VALUES('sam',10);
insert into sample (name,marks) VALUES('sam',20);
insert into sample (name,marks) VALUES('sam',NULL);
insert into sample (name,marks) VALUES('sam',NULL);
insert into sample (name,marks) VALUES('sam',30);

select AVG(marks) from sample GROUP BY(name);
Run Code Online (Sandbox Code Playgroud)

产出我的预期:

AVG =(10 + 20 + 30)/ 5 = 12

MYSQL的输出:

AVG =(10 + 20 + 30)/ 3 = 20

理想情况下我想要的是MYSQL应该得到5行的总和并除以5,但它只能除以3(非NULL行)

为什么会发生这种情况,我该怎么做才能获得正确的AVG即60/5?PS:我不能使标记字段为NOT NULL,在我的db设计中,标记字段允许为NULL.

谢谢

mysql sql null

15
推荐指数
2
解决办法
2万
查看次数

laravel 5更改app目录以匹配命名空间

如果您想重命名您的应用程序文件夹,这只是其中几种方法之一.

  • 1)跑 php artisan app:name YourNamespace
  • 2)将您的app文件夹重命名为YourNamespace
  • 3)在你的bootstrap文件夹中创建一个名为application.php的文件
  • 4)将其粘贴在那里

    class Application extends Illuminate\Foundation\Application {
    
        /**
         * this is the default for the application path
         */
        protected $appBasePath = 'app';
    
        public function __construct($basePath = null)
        {
            $this->registerBaseBindings();
    
            $this->registerBaseServiceProviders();
    
            $this->registerCoreContainerAliases();
    
            if ($basePath) $this->setBasePath($basePath);
        }
    
        public function setAppPath($path) {
            // store the path in the class only
            $this->appBasePath = $path;
    
            // set the path in the container (using this class's path to reset it)
            return app()->__set('path', $this->path());
        }
    
        /**
         * Get the path …
    Run Code Online (Sandbox Code Playgroud)

php directory namespaces laravel-5

8
推荐指数
0
解决办法
5334
查看次数

使用set_value的Textarea未填充Codeigniter

我在视图中有一个简单的表单,它有一个文本区域:

<textarea name="description" value="<?php echo   set_value('description'); ?>"></textarea>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我使用form_validation库验证了此文本区域

$this->form_validation->set_rules('description', 'Description', 'trim|required');
Run Code Online (Sandbox Code Playgroud)

验证工作正常,即如果文本区域为空,它会给我错误,但如果textarea-description被正确填充但是其他字段中存在一些错误,则它不会重新填充textarea

我究竟做错了什么 ?

validation textarea codeigniter setvalue

7
推荐指数
1
解决办法
2万
查看次数

为什么界面方法没有正文

要实现多重继承,我们必须使用接口,但为什么接口方法没有实体,为什么必须在派生类中重写它们呢?

我真的想要一个清醒的答案,不涉及太多的计算机术语,我似乎无法理解这一点,我已经提到了各种参考

java inheritance interface

6
推荐指数
1
解决办法
9089
查看次数

json_encode()PHP的不同结果

如果我这样做:

$new_arr = array(
0 => 'keyboard',
1 => 'mouse',
2 => 'computer'
);

print_r(json_encode($new_arr));
Run Code Online (Sandbox Code Playgroud)

输出:

[ "键盘", "鼠标", "计算机"]

但是说我从我的数据库中获取所有"product"表行并执行此操作:

$product_with_id_map = array();
foreach($query as $result) {
$product_with_id_map[$result->id] = $result->name;
}
print_r(json_encode($product_with_id_map));
Run Code Online (Sandbox Code Playgroud)

输出:

{ "0": "键盘", "1": "鼠标", "2": "计算机"}

我真的需要保留数组的键,当我json_encode你能告诉我如何在第一个例子中实现第二个输出吗?

php json codeigniter

5
推荐指数
2
解决办法
2701
查看次数

Mysql按月查询

我希望做一些像从表中获取所有行的事情

where date >='2012-05-05' and date<='2012-07-20'
Run Code Online (Sandbox Code Playgroud)

我希望MySQL返回"group by"明智增量的行

2012-05-05 to 2012-06-05(incerement 1 month)
2012-06-06 to 2012-07-06(increment 1` month)
and remaining 2012-07-07 to 2012-07-20 (group the remaining 14 days)
Run Code Online (Sandbox Code Playgroud)

我如何编写我的查询来实现相同的目标?

谢谢...

mysql group-by monthcalendar

3
推荐指数
1
解决办法
2930
查看次数

使用set_value填充codeigniter表单中的下拉列表

我有一个使用下拉和我使用codeigniter,形式帮助和表单验证的表单,所以当我在表单中得到验证错误时,所有正确输入的字段都使用codeigniter的set_value填充,但是这对下拉列表不起作用

我正在做 :

<?php echo form_dropdown('mid', $id_map, set_value('mid'), 'id="mid"') ?>
Run Code Online (Sandbox Code Playgroud)

当在表单中获取错误时,始终会选择下拉列表的第一个值,而不是先前设置的值

任何想法,我做错了什么?

validation codeigniter setvalue drop-down-menu

2
推荐指数
1
解决办法
3万
查看次数

更改Jenkins工作空间

我做了什么 :

我在我的Ubuntu上设置了Jenkins:

在/ var/lib中/詹金斯/

我有一份工作,每45分钟运行一次hg pull,hg update --clean default 从我的bitbucket存储库运行.所以运行正常.我有一个文件夹

/ var/lib/jenkins/jobs/Code Deployement

其中包含我的存储库中的最新更新代码.

问题:

但是,我想从中访问我的更新代码

在/ var/www/html等/ [项目名称]

查询:

无论如何,我可以让jenkins工作更新此文件夹而不是/ var/lib/jenkins/Code Deployment文件夹?我当然不想将/ var/www/html/[project-name]作为我的jenkins主文件夹.

我怎样才能实现上面描述的内容.每次作业运行后,我是否必须将文件夹从jobs文件夹复制到我想要的位置?请帮我解决这个问题,我是一个使用Jenkins自动部署的初学者.

谢谢.

deployment mercurial bitbucket maven jenkins

2
推荐指数
1
解决办法
1万
查看次数

在codeigniter中有条件地设置会话数据

我想在我的视图中设置我的会话数据但有条件,所以在我的视图的javascript部分我有

$('#demo').click(function(){
$this->session->set_userdata('sample',10);
});
Run Code Online (Sandbox Code Playgroud)

但是,每当我刷新页面,而不点击按钮,会话数据,"样本"被设置,有没有办法,我可以在我点击按钮后获得此会话数据集?

谢谢

javascript session jquery codeigniter

1
推荐指数
1
解决办法
1万
查看次数

php变量异常行为

我试图同时增加java脚本变量和php变量的值,所以在我的java脚本中我做:

<script>
<?php $i=1;?>
for(var i=1;i<=5;i++){
var abc = $('<input>').attr('name','demo'+i).attr('value','<?php echo set_value('demo'.$i++));
 <?php echo $i; ?>
 }
</script>
Run Code Online (Sandbox Code Playgroud)

但是,每当$ i echo`ed的值为2时,逻辑上它应该增加java脚本循环迭代次数和echo 5的次数,但不是,我做错了什么?

javascript php codeigniter

1
推荐指数
1
解决办法
81
查看次数