小编cof*_*tor的帖子

MySQL - Query中的复杂SUM

这很难解释.

tbl_customers每天都会循环访问我的客户记录.

SELECT c.* FROM tbl_customers c
Run Code Online (Sandbox Code Playgroud)

我简单地返回客户:customerid,name,phone,email

现在奇怪的部分.我希望在电子邮件之后追加3个列:totalpaid,totalowed,totalbalance BUT,那些列名在任何地方都不存在.

以下是我查询每个问题的方法:(作为单个查询)

SELECT SUM(total) AS totalpaid 
FROM tbl_customers_bills 
WHERE customerid = X
AND billtype = 1

SELECT SUM(total) AS totalowed 
FROM tbl_customers_bills 
WHERE customerid = X
AND billtype = 2

SELECT SUM(total) AS totalbalance 
FROM tbl_customers_bills 
WHERE customerid = X
AND billtype IN(1,2)
Run Code Online (Sandbox Code Playgroud)

因此,该billtype列是告诉我记录是否已付款的列.

我在这里不知所措.如何将3个单独的查询汇总到第一个查询的循环中?

mysql sum subquery

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

jquery选择具有特定类的所有元素

我有几个同一类的div.div是动态生成的,所以我并不总是知道这些div的确切数量.

我想在最后一个div之后放置另一个div.

<div class="someclassname">content here</div>
<div class="someclassname">content here</div>
<div class="someclassname">content here</div>
Run Code Online (Sandbox Code Playgroud)

当我这样做:

$('.someclassname').after('place another div here');
Run Code Online (Sandbox Code Playgroud)

它放在每一个之后.有没有办法用.someclassname选择最后一个div?

jquery jquery-selectors

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

MySQL - 搜索NULL值

我测试了一个奇怪的查询,涉及我搜索不存在的记录.

简而言之,我有3 tables: tbl_customers tbl_customers_notes tbl_customers_pipelines

客户和笔记非常明显,但管道却不是.基本上,管道就是管理员分配给单个管道的权限customerid.

这是管道的表结构:

ID | customerid | adminid |

我没有必要创建ID列,但无论如何我做了,它自动递增.

每个客户记录都从没有加入管道记录开始.因此,首次创建customerid时它是空的.如果我想分配管理员来管理新的customerid,只需为每个管理员添加一条记录:

ID  | customerid | adminid
---------------------------
1   |    45      |   6
2   |    45      |   8
3   |    45      |   10
Run Code Online (Sandbox Code Playgroud)

这意味着customerid:45分配了3个adminid.
(顺便说一下,adminid就像销售人员)

我在下面有一个查询,可以让我搜索来自特定管理员的缺少备注的customerid.它很棒:

SELECT c.*
FROM `tbl_customers` c 
LEFT JOIN `tbl_customers_pipelines` cp ON c.customerid = cp.customerid 
WHERE c.customerid 
          NOT IN(SELECT n.customerid 
                 FROM `tbl_customers_notes` n 
                 WHERE n.datesubmitted BETWEEN '2011-12-01 14:00:00' 
                 AND '2011-12-03 13:59:59' 
                 AND n.categoryid IN(10)
                )

AND cp.adminid …
Run Code Online (Sandbox Code Playgroud)

mysql isnull

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

JSON - 验证Json数组或对象

这里有2个javascript变量:

<script language="javascript" type="text/javascript">
var example1 = 'Mr.:1|Mrs.:2|Ms.:3|Dr.:4|Sr.:5|Jr.:6';
var example2 = {'Mr.':'1','Mrs.':'2','Ms.':'3','Dr.':'4','Sr.':'5','Jr.':'6'}
</script>
Run Code Online (Sandbox Code Playgroud)

使用javascript,有没有办法检测哪一个不是json

javascript json

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

MySQL INSERT IGNORE将1添加到非索引列

我正在PHP循环中构建一个小报告.我在while()循环中运行的查询是这样的:

INSERT IGNORE INTO `tbl_reporting` SET datesubmitted = '2015-05-26', submissiontype = 'email', outcome = 0, totalcount = totalcount+1
Run Code Online (Sandbox Code Playgroud)

我希望totalcount每次运行查询时列都会递增.但是数字保持为1. UNIQUE索引组成前3列.

这是表格模式:

CREATE TABLE `tbl_reporting` (
 `datesubmitted` date NOT NULL,
 `submissiontype` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
 `outcome` tinyint(1) unsigned NOT NULL DEFAULT '0',
 `totalcount` mediumint(5) unsigned NOT NULL DEFAULT '0',
 UNIQUE KEY `datesubmitted` (`datesubmitted`,`submissiontype`,`outcome`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
Run Code Online (Sandbox Code Playgroud)

当我将查询修改为常规UPDATE语句时:

UPDATE `tbl_reporting` SET totalcount = totalcount+1 WHERE datesubmitted = '2015-05-26' AND submissiontype = 'email' AND outcome = …
Run Code Online (Sandbox Code Playgroud)

php mysql

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

标签 统计

mysql ×3

isnull ×1

javascript ×1

jquery ×1

jquery-selectors ×1

json ×1

php ×1

subquery ×1

sum ×1